如题所述
两个不一样,因为括号的原因, 运算顺序不同.第二个需要先算括号里面的结果,再相减
x%=k-k%5的结果是7
(x%=k)-(k%=5)的结果是3
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)-(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。
=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。
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