首页 > 试题广场 >

已知int x=5;,执行下列语句后,x的值为( )?

[单选题]
已知int x=5;,执行下列语句后,x的值为()

x += x -= x*x;

  • 25
  • 40
  • –40
  • 20
先算x-=x*x,得出x=5-5*5,x=-20;再算x+=x;得出x=-20-20,x=-40
发表于 2018-06-04 10:17:41 回复(3)
发表于 2020-04-01 15:17:06 回复(0)
赋值运算符满足右结合律,从右往左进行运算
发表于 2019-04-05 08:45:27 回复(0)
 int x = 5;
00F02833  mov         dword ptr [x],5 
 x += x -= x * x;
00F0283A  mov         eax,dword ptr [x] 
00F0283D  imul        eax,dword ptr [x] 
00F02841  mov         ecx,dword ptr [x] 
00F02844  sub         ecx,eax 
00F02846  mov         dword ptr [x],ecx 
00F02849  mov         edx,dword ptr [x] 
00F0284C  add         edx,dword ptr [x] 
00F0284F  mov         dword ptr [x],edx 
发表于 2018-09-27 10:27:29 回复(0)
赋值运算符满足右结合律,从右往左进行运算
发表于 2020-02-12 17:05:55 回复(0)
<p>先算x-=x*x</p><p>x=x-x*x=5-25=-20</p><p>再算x+=x</p><p>x=x+x=-20-20=-40</p>
编辑于 2020-11-27 00:10:18 回复(0)
考察连续赋值语句,连续赋值从右向左赋值,赋值语句先计算等号右侧表达式
发表于 2024-05-18 21:49:14 回复(0)

先算x-=x*x

再算x+=x

发表于 2018-12-18 00:03:09 回复(0)
x-=x*x等同于 x=x-x*x
发表于 2018-09-30 12:07:50 回复(0)