C++ i=i++陷阱

2020-01-09  本文已影响0人  Jaymz_2b11

发现一个C++ 特别有意思的事情
int i = 10;
i=i++;
cout<<i<<endl;

居然会打印11!!!!

思来想去也觉得没有可能
i=(i++);
cout<<i<<endl;
这样还是打印11

为什么会打印11呢,其实是编译器导致的
如果换成
int = 10,x;
x = i++;
cout<<x<<endl;

这里就会打印10了

C++ 编译陷阱

上一篇 下一篇

猜你喜欢

热点阅读