首页 > 试题广场 >

若x为int型变量,则执行以下语句后x的值为-24.

[单选题]

若x为int型变量,则执行以下语句后x的值为-24.

x = 6;
x += x -= x * x;

说法是否正确?
  • 正确
  • 错误

x=6;

x+=x-=x*x;
第一个等号:x-=x*x --> x=x- x*x --> x=-30         这里都没有问题
第二个等号:在计算之前x已经被重新赋值了~~~~~   x=-30   ~~~~~
                     
x=x+(……)=-30+-30=-60    (……)此处省略前一个等号的内容
发表于 2017-06-21 09:27:12 回复(1)
自右向左
初始值:x=6;
x*x=6*6;
x-=(x*x) -> x=x-(x*x)=6-36=-30;(此处改变了x的值)
x+=x  ->x=x+x=-30+-30=-60;
发表于 2017-09-03 17:09:55 回复(2)
注意x-=和+=会改变x原先的值就ok
发表于 2018-11-19 16:52:25 回复(2)

 🍹解题步骤


根据运算符的优先级判断:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符

step1.算术运算符‘*’优先级最高,先进行乘法运算 x*x = 36

step2.由于 += 与 -= 都是赋值运算符,因此依据结合性,从右向左计算 

step3.先计算 x -= x * x :

x = x - x * x ; 
x = 6 - 6 * 6 = -30; 
此时x被赋值为 -30

step4.此时再计算 x += x

x += x;
x = x + x;
由于step3中计算出来最新的x值为-30,因此最后计算结果如下:
x = -30 + -30 =-60


发表于 2022-01-23 20:58:48 回复(1)

x=6;

x+=x-=x*x
从右到左
x-=x*x 相当于x=x-x*x=6-6*6=-30  (注意x=-30!)
最后x+=(x-=x*x)相当于x+=x --->x=x+x=-30+-30=-60
发表于 2020-07-07 09:54:01 回复(0)
注意x的值会随着运行同步变换。
发表于 2019-09-03 23:41:54 回复(0)

x=6;

x+=x-=x*x; 
第一个等号:x-=x*x --> x=x- x*x --> x=-30         这里都没有问题
第二个等号:在计算之前x已经被重新赋值了~~~~~   x=-30   ~~~~~
                      x=x+(……)=-30+-30=-60    (……)此处省略前一个等号的内容 
发表于 2017-08-03 09:35:34 回复(1)
x*x=36 x-=x*x,则x等于-30 x+=x-=x*x,则x等于-60
发表于 2017-05-24 19:30:55 回复(0)
先算右边,再算左边

发表于 2022-04-07 15:47:48 回复(0)
原来是这样。。。

发表于 2017-07-06 17:06:58 回复(1)
X的值会变
发表于 2025-03-07 23:15:10 回复(0)
x-=x*x,所以x=x-x*x=6-6*6=6-36=-30,故x被重新赋值为-30,x+=x,所以x=x+x=(-30)+(-30)=-60
发表于 2022-04-03 17:16:36 回复(0)
等号会改变x值
发表于 2019-04-16 11:03:34 回复(0)