int x=5;执行x+=x++ +(x++)后x是多少?为什么?
来源:百度知道 编辑:UC知道 时间:2024/05/12 16:55:49
这是java中的一道题。我记得在C中应该先执行括号中的x++。x变成6,x++是5。然后执行括号外面的x++,此时x是6,执行后x变成7,x++是6。x++ +(x++)就是6+5=11。最后x+=11,即是7+11=18.但是结果不是,为什么?
java中x++表达式好像是等所有运算结束了x才自加,那样应该是15啊~~也不对,为什么??费解啊~~高手解释下~~
不是应该先算括号里面的吗?算完括号里面的x值不就变过了吗?那x+(x++)+(x++)中第一个x值不就变了吗?
java中x++表达式好像是等所有运算结束了x才自加,那样应该是15啊~~也不对,为什么??费解啊~~高手解释下~~
不是应该先算括号里面的吗?算完括号里面的x值不就变过了吗?那x+(x++)+(x++)中第一个x值不就变了吗?
x+=x++ +(x++)的操作实际上就是
x=x+(x++)+(x++) (后缀的++操作,如楼主所说)
于是x=5+5+6=16
===========补充的分割线===========
怎么会先算括号中的...加法是从左到右的.运算符优先级是()与+同时需要判断的时候优先级高的先执行而已..
1L正解
设 int x= -1;执行表达式++x||++x||++x;后x的值为何是1吗?
C++中执行代码int x,y(5); x=~y; 后,X的值为什么是-6?
int x,y,i=10;x=i++;y=i;执行后x,y的值是多少?
有下定义 int x=5,y;y=x--&&(++x)||x--;求X,y的值
x=5,(++x)+(++x)+(++x)=?
java int x,y=5;x=++y;if (x==y) x*=2; if (x>y) x++; else x=y-1
int x,y;x=3.y=4.y=(x++,++x,x+y,x++).x=?,y=?
x=1 for y +1 to 5 x=x*y endfor ?int(x/5),int(x/y) return 写出程序运行的结果?
int x=2, y , z; 执行z=y=x--; 变量z的值是多少?
18、语句int x=100,y=200;printf(“%d”,(x+y));执行后的输出为( )