C++ cout表达式中的增量地址呈现意外输出

C++ cout表达式中的增量地址呈现意外输出,c++,cout,C++,Cout,我不明白这里发生了什么。一定有一些与“同花顺”术语有关,但我想解释一下 int arr[4] {3,8,1,6}; cout<<arr[0]; cout<<arr[1]; cout<<arr[2]; cout<<arr[3]; cout<<endl; cout<<&arr[0]<<endl; cout<<&arr[1]<<'\n'; cout<<&

我不明白这里发生了什么。一定有一些与“同花顺”术语有关,但我想解释一下

int arr[4] {3,8,1,6};

cout<<arr[0];
cout<<arr[1];
cout<<arr[2];
cout<<arr[3];

cout<<endl;

cout<<&arr[0]<<endl;
cout<<&arr[1]<<'\n';
cout<<&arr[2]<<endl;
cout<<&arr[3]<<endl;

cout<<&arr[0]<<endl;

int *j = &arr[0];
cout << *j << *(++j) << *(++j) << *(++j); // HERE IS THE PROBLEM
int-arr[4]{3,8,1,6};
cout

cout << *j << *(++j) << *(++j) << *(++j);
此顺序良好的表达式将呈现预期的输出。

在表达式中

cout << *j << *(++j) << *(++j) << *(++j);
这个顺序良好的表达式将呈现预期的输出