若有int m=5.y=2;则执行表达式y+=y-=m*=y后y的值是?y的值是-16 .
若x和n均是int型变量,且x和n的初值均为5,则执行下面表达式x+=n++ 后x的值为(10 ),n的值为( ) 为什么上面的y是先赋值后使用而x却是先使用后赋值?同样是?+的形式.初学者没人教,
x+=n++ 不是直接等于x=x+n=n+1?是等于 x=x+n .而求n的时候n++才等于n=n+1 .
人气:103 ℃ 时间:2020-03-24 07:03:06
解答
等号是从右向左结合的
y+=y-=m*=y可以分解成3个表达式
首先,m*=y,经过计算,m=10,y=2,m*=y表达式的值为10
然后,y-=(m*=y),因为y=2,m*=y表达式的值为10,因此等价于y -= 10,所以y=-8 .y-=(m*=y)表达式的值就是-8
最后 y+=(y-=m*=y),因为y-=(m*=y)表达式的值就是-8,因此等价于y+=-8,因为y=-8,所以最后的值就是-16
这个问题的关键其实是要理解表达式的值这一概念,理解它,自然就会了.关于表达式的概念,你可以上网搜一下
推荐
- 设x、y、z和k都是int型变量,则执行表达式:x=(y=4, z=16, k=32)后,x的值为().
- 若有以下定义int m=5,y=2;,则计算表达式y+=y-=m*=y后的y值是
- 设Int a=5,y=2;表达式y+=y_=m*=y的最后结果是-16,怎么计算的
- int m=5,y=2;则表达式y+=y-=m*=y后y的值,
- (float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5 求表达式值
- 一个2欧电阻与1微法电容并联 一个3欧电阻与3微法电容并联 两个再与24V电源串联 在t=0是让电源接通.
- P是反比例函数y=k/x图象上一点,PA垂直y轴,A(0,4),AP=2.1)求反比例解析式;2)求直线OP的解析式.
- 英语翻译
猜你喜欢