1、多个连续的if else if else if 的执行顺序:
从上往下执行,知道某个if判断成立,就结束判断,不会继续下面的判断。
2、if和switch中变量的作用域问题: C编译器判断变量作用域是通过大括号来判断的,所以在if或switch后面直接定义新的变量,而不用大括号括起来,编译器会报错,因为它无法判断这个新的变量的作用域。 所以想要在if或switch中定义新的变量,必须要用大括号括起来。
3、switch中的break: 默认的每个case后面都应该有一个break,如果某个case后面没有break,这时候如果这个没有break的case条件成立,那么他会执行该case后的语句,并且继续向下不进行判断的执行后面所有case里的语句,知道碰见一个break.
[objc] view plaincopy
- int a = 3;
- switch (a) {
-
- case 5:
- printf("5");
- case 1:
- printf("1");
- break;
- case 3:
- printf("3");
- case 2:
- printf("2");
- break;
-
- default:
- break;
- }
以上结果输出位32.
有时候可以不加break来减少程序的语句,比如判断一个字母,无论是大写或者小写,都会执行同一段代码。这时候不用break会让代码更简洁。
4、continue、break和return continue跳出当次循环,继续下一次循环 break结束离自己最近的循环 return退出函数,返回一个具体的值给函数的调用者。
|