adjust to是什么意思:C语言问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/09 04:46:30
#include "stdio.h"
main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{ case 1:
switch(y)
{ case 0:a++; break;
case 1:b++; break;
} ;
case 2:a++,b++;break;
case 3:a++,b++;break;}
printf("\na=%d,b=%d",a,b);
}
开始不是说X=1吗? 虽然在第一个case 1的后面没有break,怎么还执行case 2呢?X不等于2阿?我不大明白!(结果是a=2,b=1)

switch 语句,里面的运行过程是:
从找到的第一个case处,后面的全部都执行,直到遇到break语句,后面是不判断case的。

C语言中的
switch(exp){
case exp1:语句;break;
case ....
default:;
}
当exp的值对应哪个case时,如果该case的语句中没有 break,那么程序将继续执行 该case后的语句,
如:
i=1;
switch(i){
case 1:printf("1\n");
case 2:printf("2\n");
case 3:printf("3\n");break;
default:printf("default\n");
}
运行的结果是
1
2
3

就是因为没有 break,所以才执行 case 2,如果有,就不会了。

别点 我刚点了 找找SWITCH的用法 每次switch语句应该进入的分支是'1 ,2,3', ....