yhkn.net
当前位置:首页 >> C语言:A=3,A+=A%=A*A,求A >>

C语言:A=3,A+=A%=A*A,求A

a最后的值为-12 a+=a-=a*a 的计算顺序为先计算a*a 结果为9 然后计算 a-=a*a 也就是 a-=9 这是一个符合赋值表达式 相当于 a=a-9 ,a的值变成-6,同时表达式的返回值为-6 然后计算a+=(a-=a*a) 也就是a+=-6 即 a=a+-6 a的值为-12

赋值语句,从右到左依次运行: 那么: int a=3; a+=a-=a*a; 相当于: a-=a*a; a+=a; 然后相当于: a=a-a*a; a=a+a; 由于a初始化为3: a=a-a*a=3-3*3=-6; a=a+a=-6+(-6)==-12; 所以最后结果就是-12

要从右往左算哦亲!%是求余数哦~ a*=a其实就是a=a*a(星号为算符) 1. 首先设a=5;接下来一步步拆解: 2. R=a%3,则R=2; 3. a%=a%3 => a%=R => a=a%R=5%2=1;注意此时a=1了亲! 4. a+=(a%=a%3)=(a=a%R=a%2=1)=a =>a=a+a=1+1=2; 5. 最终a=2...

首先a赋值为2; 然后计算a*=3,此时a为6; 然后计算a-=6,此时a为0; 然后计算a*=0,此时a为0; 然后计算a+=0,此时a为0。 最后输出a为0。 另外,只有C语言的考试会编这样晦涩难懂易出错的语句,实际工作应用中请不要这么做。

a-=a*a相当于 a=a-(a*a)=-6 a+=-6相当于 a=a-6=-6-6=-12 所以最后结果是-12 这个题是从后面倒着算回来,每一步算出来值都赋给后一项的计算。详情可见C语言的赋值表达式

结果是0 从右往左开始运算 一开始三乘四 a结果为12 a减a就是零了 再加也是零

赋值运算符比逗号运算符优先级高 所以 a = 3 * 5 = 15 你的表达式相当于 int j,k; k = (j = (a = 3*5,a*4),a + 5); --即为二个逗号表达式 j = (a = 3*5,a*4) j = 15 * 4 = 60; k = j, a+5; k = 20; 也就是说你最后的整个表达式的值为20,但是 a ...

a为未定义变量。表达式的值不存在。 如果你想问的是x+=x-=x*=x,那么: 第一步:x=x*x=33*33=1089 第二步:x=x-x=1089-1089=0 第三步:x=x+x=0+0=0 x的值为0,表达式的值为0

因为在算完4*3后,最后一个赋值语句是a=3,a是double型的,所以就是a=3.0了.如果把a=4和a=3换个位子的话,这时a就是4.0了.不知道你明白没有?

a=3 x=18 逗号表达式的值,等于最后一个表达式的值。

网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com