c语言中a+=a*=a%=3的运算顺序?

如题所述

赋值运算,从后往前。

假设a的初始值为5

那么:

    a=a%3=2  则原式为 a+=a*=2

    a=a*2=2*2=4  则原式为 a+=4

    a=a+4=8

不知道这样子,懂了没有

追问

题目a的初始值是2答案是8怎么回事?

追答

那就是答案错了呗

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-22
%=,=,*=,/=都是一样的,把他们看作“=”就行了,那么就相当于从左到右的赋值操作。
a=a%3=2
a=a*2=2*2=4
a=a+4=8追问

a=a%3=2怎么来的

追答

a%=3结果可以是0 ,1 ,2 这个是楼上随机取的.我把他的复制过来了,也可以是a%3=0,然后a*=a为0,a+=a为0,也可以a%3=1,.....最后为2

相似回答