c语言中intx=3;y=++x+(++x);printfy;的结果怎么算啊

我开始也是这样算的,但是答案x=10

第1个回答  2010-11-17
这是考验运算符优先级的题。尝试分析,有可能不对。

第一优先级是括号内的运算,所以先执行++x,即x=4,并将值4取出来;第二优先级是等号右边的++x,所以x=5,并将5取出来,最后执行加法,所以y=9,x=5。
第2个回答  2010-11-18
第一优先级是括号内的运算,所以先执行++x,即x=4;第二优先级是等号右边的++x,所以x=5,并将5取出来,注意此时x=5,所有所以y=5+5=10,x=5。本回答被提问者采纳
第3个回答  2010-11-18
#include "stdio.h"
int main()
{
int x=3,y;
y=++x+(++x);
printf("%d",y);
}

第一次++x x被赋值4 ++x+(x)
第二次运行++x x被赋值5 x+x
接着运算加法本回答被网友采纳
相似回答