很诡异的C++代码..
int main()
{
int arr[] = {6, 7, 8, 9, 10};
int *ptr = arr;
++ptr;
cout << *ptr << endl;
cout << *ptr << '\n'
<< *(++ptr) << endl;
return 0;
}
输出结果是 7, 8, 8;
int main()
{
int arr[] = {6, 7, 8, 9, 10};
int *ptr = arr;
++ptr;
cout << *ptr << endl;
cout << *ptr << '\n';
cout << *(++ptr) << endl;
return 0;
}
输出结果是 7, 7, 8
这是什么情况???
[最优解释]
其实读取顺序是从右向左的,输出结果是从左向右而已
[其他解释]
cout << a << b << c << d;
是先d后c后b后a