#include <iostream>using namespace std;main(){int i = 5;cout << i++ << i--<< ++i << --i << i << endl;}上面用g ++编译的程序输出:45555而下面的程序:int x=20,y=35;x =y++ + y + x++ + y++;cout << x<< endl << y;给出结果为12637谁能解释一下输出结果。
3 回答
LEATH
TA贡献1936条经验 获得超6个赞
第二个程序的表达式的结果是不确定的。甚至允许编译器使您的计算机着火:-)不允许您在一个序列点内两次修改变量(在这种情况下为from =到;)。
编辑:
有关详细说明,请参见C FAQ,特别是问题3.2。
- 3 回答
- 0 关注
- 554 浏览
添加回答
举报
0/150
提交
取消