switch语句并不作判断,只是拿表达式的值去与case匹配,匹配成功,则顺序执行,直到break语句而跳出switch,全部匹配失败则执行default中的语句。switch(0)会去匹配 case 0的那个语句块。
C语言中,switch语句的使用格式如下:
switch(表达式)
{
case 常量表达式1 : 语句1; break;
case 常量表达式2 : 语句2; break;
......
case 常量表达式n : 语句n; break;
default : 语句n+1;
}
举例如下:int i=4, a=0;
switch(i)
{
case 1 : a++; break; // 如果i=1,执行case 1 后面的语句,执行完后退出switch
case 2 : a+=2; break; // 如果i=2,执行case 2 后面的语句,执行完后退出switch
case 4 : a+=4; break; // 如果i=4,执行case 4 后面的语句,执行完后退出switch
default : a=0; // 如果i不等于上面所以case中的值,执行default后面的语句,执行完后退出switch
}
执行
不用判断真假,和switch()里的东西无关,只看括号里的值和那个case对应就执行那条语句!
0是假,就不用执行了 自动退出
无影响吧