float x=1;int y=2;y+=++x*++x等于多少

如题所述

第1个回答  2019-08-14
答案为:11
,解答如下:
对于
赋值语句
,从'='右往左看:++x,x先自加1,由1变为2,由于自增运算符'++'的优先级比乘运算符'*'的优先级高,所以'*'右边++x,x的值再一次增加1,由2变为3,当要执行乘运算'*'时,系统找到的i的值为3,所以(++x*++x)=3*3=9,然后,因为y+=++x*++x即y=y+(++x*++x)=2+9=11
第2个回答  2020-08-16
++运算符的运算顺序:
1.++x或者x++结果都为2;
2.a=x++,b=++x,a的结果为1,b的结果为2;
3.前缀(++x)先x+1,再参加其他运算,后缀(x++)先参加其他运算,再x+1,每次运算后,x都会保存其最新的值;
4.a=2+x++,先计算a=2+x=3,再计算x++,x结果为2;
y+=运算,等价于y=y+
所以运算结果为,y=y+((++x)*(++x))=2+3*3=11;
相似回答
大家正在搜