在c语言中x+y==z与z==x+y的区别

来源:百度知道 编辑:UC知道 时间:2024/06/20 05:18:23
但是不是有运算顺序吗?从左向右

+优先级比==高
所以都是先算x+y
表达式的值相同
设x=1,y=2,z=3;
所以运算步骤
1.x+y==z
(1+2)==3
3 ==3
值为真(1);
2.z==x+y
3==(1+2)
3==3
值为真
有疑问
留言
必回

没区别

没有
正常的编译器会把x,y放到2个register里边得出和,然后和z比,如果不等就跳过

2个写法没有任何不同

我也经常在别人的代码中看到类似情况。

if(0 == somecode)

我自己用当然直接写

if(somecode == 0)

我觉得这应该是代码阅读方面的问题。如果我们看见 0 == somecode ,我们可以猜想作者是要突出 0 这个部分,然后我们会注意这个比值。

在效率上,我想不出这样子做会有什么改进。