猿问

cout中帖子增量的行为

#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;

给出结果为


126


37

谁能解释一下输出结果。


FFIVE
浏览 561回答 3
3回答

LEATH

第二个程序的表达式的结果是不确定的。甚至允许编译器使您的计算机着火:-)不允许您在一个序列点内两次修改变量(在这种情况下为from =到;)。编辑:有关详细说明,请参见C FAQ,特别是问题3.2。
随时随地看视频慕课网APP
我要回答