1、if条件表达式比较大小的时候,常量值放左边,变量放右边
1 #include <stdio.h> 2 int main(int argc, const char * argv[]) 3 { 4 int a = 2; 5 if(0 == a) 6 { 7 printf("a等于0 "); 8 } 9 else 10 { 11 printf("a不等于0 "); 12 } 13 return 0; 14 }
这种写法的好处:
1> 如果是if(a == 0),当我们不小心把==输成=的时候,编译器不会报错,小括号内会进行赋值操作,把0赋值给a,再做判断,0为假,所以就会去执行esle语句。这样的话,整个if语句结构都失效了。
2>如果是if(0 == a),当我们不小心把==输成=的时候,编译器会立即报错,因为不能把变量赋值给常量。
2、如果if()后有分号,编译器会默认有一条空语句。
1 #include <stdio.h> 2 int main(int argc, const char * argv[]) 3 { 4 if(5 > 6); 5 { 6 printf("abc "); 7 } 8 }
输出结果为:abc
3、if语句的小括号中为可以为常量:非零数表示永真,零表示假
1 #include <stdio.h>
2 int main(int argc, const char * argv[])
3 {
4 if(1)
5 {
6 printf("A
");
7 }
8 else
9 {
10 printf("B
");
11 }
12 return 0;
13 }
括号内是1,表示永真,所以输出结果为: A 。