
这是初学者经常会无法理解的一点!
switch(i){ case 0:printf("%d",i);break;/*这里如果没有加上break语句,程序将会在不作继续判断i值的情况下,执行下面其它case后面(包括default)的语句*/ ...}因此,当i=0时,将会执行所有三个printf函数;当i=1时,执行default处的printf函数;当i=2时,执行后两个printf函数,所以输出共6个i值,结果为:
000122switch(表达式){ case常量表达式1: 语句1; case常量表达式2: 语句2; … case常量表达式n: 语句n; default : 语句n 1; } 其语义是:计算表达式的值。
并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。
如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
void main(){ int a; printf("input integer number: "); scanf("%d",