C语言刚上,运算顺序不懂,int k=7,x=12 x%=k-k%5 与 (x%=k)-(k%=5)有什么区别?两个答案分别是多少

如题所述

两个不一样,因为括号的原因, 运算顺序不同.第二个需要先算括号里面的结果,再相减
x%=k-k%5的结果是7
(x%=k)-(k%=5)的结果是3
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
你好。x%=k-k%5 实际上是x = x % (k - k % 5) 结果是2
(x%=k)-(k%=5)实际上(x = x%k)-(k = k%5) 结果是5 - 2 = 3追问

那么 x%=k%=5的答案是不是0?

追答

x%=k%=5相当于x = x%(k = k % 5),所以等于0

本回答被提问者采纳
第2个回答  2012-10-06
x%=k-k%5
=x%(k-k%5)
=12%(7-7%5)
=12%(7-2)
=12%5
=2
//上面x的值为2,k的值不变。

(x%=k)-(k%=5)
=(x=x%k)-(k=k%5) //x的值变为5,k的值变为2。
=5-2
=3 //这个表达式的值为3,但这个值不保存。
//上面x的值变为5,k的值变为2。
第3个回答  2012-10-06
在这里运算符优先级从高到低为:()、%、-、%=。
x%=k-k%5相当于x%=(k-(k%5)),先算k%5=2,然后k-2=5,最后x%=5等价于x=x%5,结果x=2。
(x%=k)-(k%=5)相当与(x=x%k)-(k=k%5)即(x=5)-(k=2)得到结果3,且x=5、k=2。
第4个回答  2012-10-06
一样的,都是3

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网