C语言中if(a == 2)和if(2 == a)有什么区别

Python015

C语言中if(a == 2)和if(2 == a)有什么区别,第1张

没有区别。

编程规范中能体现出一点区别, if(2

==

a)比if(a

==

2)安全,即若把==误写为=,if(2

=

a)在编译阶段就能发现语法错误,而if(a

=

2)无明显语法错误,属于逻辑错误,很难被发现。

这是是判断scanf的返回值,你可以查看一下scanf函数的详细解说,不过一般不用这个返回值罢了。

给你说明白点,这里让你输入两个整形,如果你输入了两个整形那scanf的返回值就等于2,如果你输入了一个整形另一个其它类型scanf的返回值就是1,如果你两个都不是输入正新就返回0,说白了scanf的返回值就是你输入类型正确的个数。

你这个题的意思就是if判断,当你输入的两个数都是整形的时候执行以下代码。

希望对你有帮助

编译应该会有警告把

if(a=2),这里应该是一个==的,而你写成了=

在C语言里=是赋值符号

if(a=2), 而a=2这个赋值是恒成立的 所以相当于if(1)

if((a=2)||(b=1)) 类似

大部分编译器会提示警告的,而很多人说警告可以不理会的,这就容易忽略这类警告了,

我的做法是写成 if((2==a)||(1==b)) ,这时候再把==写成= 就是错误而不是警告了,