读书人

很诡谲的C++代码.

发布时间: 2012-12-28 10:29:04 作者: rapoo

很诡异的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

读书人网 >C++

热点推荐