下面是C语言中两种if语句判断方式。请问哪种写法更好?为什么?

来源:百度知道 编辑:UC知道 时间:2024/05/31 14:24:51
下面是C语言中两种if语句判断方式。请问哪种写法更好?为什么?
int n;
if (n == 10) // 第一种判断方式
if (10 == n) // 第二种判断方式

首先,看看效率上有没有区别
if (i == 1)
004014CF cmp dword ptr [ebp-4],1
004014D3 jne main+2Eh (004014de)
if (2 == i)
004014DE cmp dword ptr [ebp-4],2
004014E2 jne main+3Dh (004014ed)
可以看到效率上没有区别。
用第2种的主要目的是防止写成if(n=10)而导致错误,但现在的编译器一般会给出警告信息所以现在不常用了.第1种更符合习惯,只要把相应的编译选项打开,一般不会出问题.
第二种会省掉很多 debug 的时间的。

logo0775 的回答是对的,都是考试问的弱智问题吧
如果能把10放在前面形成一种习惯,那么写个==也会形成一种习惯。

都一样

if (10 == n)好.
编译的时候就能判断是不是你的表达式有没有语法错误了.例如如果写错了.
10=n,就立即出错.无法编译过去.因为不能赋一个值给常数
对于if (n=10)就难以找到错误了.因为这永远是正确的.

第一种