c语言算术题目(转转转)

来源:百度知道 编辑:UC知道 时间:2024/09/22 20:25:28
a=5,b=6;
a+=a+=b+=b%=4的值等于28!
知道的请发下算的过程! 最后的值是等于28!

从后面来的
分解为:
b%=4;//b=b%4; 结果b=2
b+=b;//b=b+b; 结果b=4
a+=b;//a=a+b; 结果a=9
a+=a;//a=a+a; 结果a=18

结果是18吧?
我用TC运行了也是18

a+=a+=b+=b%=4 结果为18 而不是 28

=操作 按从右往左进行

所以 先执行b%=4

b%=4 => b=b%4 =>b=6%4 =>b=2
b+=2 =>b=b+2=> b=2+2=4
a+=b=>a=a+b=>a=5+4=9
a+=a=>a=a+a=>a=9+9=18

就是啊,是18,害我算了好几遍。
这种题需要从后向前算。
b%=4<=>b=b%4=2;记此时的b1=(b%=4)=2;
b+=b1<=>b=b+b1=8;记此时的b2=(b+=b1)=8;
a+=b2<=>a=a+b2=13;记此时的a1=(a+=b2)=13;
a+=a1<=>a=a+a1=18
就是这样的了