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++ 编译陷阱
发现一个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++ 编译陷阱