cout的奇怪问题
今天在调试一个问题的时候发现一个奇怪的问题。
一下两段程序输出结果竟然不一致,不知道VC.net为什么要这样编译,高手来看看啊。
int main()
{
int* p = new int[3];
p[0] = 1;
p[1] = 2;
p[2] = 3;
cout<< *p<<*(++p)<<*(++p)<<endl;//全部输出3,VC6和C++Builder下为332,难道这样是不对的写法??
}
而这样分开写输出结果便正确了,为什么啊高手解答一下。
cout<< *p;
cout<<*(++p);
cout<<*(++p)<<endl;
自己打开汇编看了看也觉的很困惑

