关于cout输出流的问题
- C/C++ code
#include <iostream>using namespace std;int main(){ int a[] = {10,20,30,40,50}; int *p = &a[1]; cout<<*p<<endl; cout<<*p<<endl <<*p++<<endl <<*p<<endl; return 0;}
输出结果:
20
30
20
30
[解决办法]
跟你的编译器有一点点关系
VC6.0 20 30 20 20
VS 20 30 20 30
取决于你编译器的执行顺序和一些优化处理
[解决办法]
cout<< "aa"<<*p<<endl<< "bb"<<*++p<<endl<< "cc"<<*p<<endl;
如果改为前+ 就返回的全是30了。