上面c='2' c-'2'为0时,会执行 case 0 case 1 case 2 才跳出。所以会输出 66
c='4' 执行 case 2 跳出 , 输出 8
c='7' 执行 default 输出 9
c='3' 执行 case 1 case 2 跳出 输出 77
最后,c='\n' 跳出while循环 输出 '\n'的ASCII值 10
连在一起就是 66897710
2) getchar() 这是个宏,stdio.h里可以看到它。
它要接收到回车才会结束。所以不是你一输入2就会进行 switch操作。而是输入回车后,才会把之前的 2 4 7 3 '\n'一个个返回给c 进行 while循环。
while(初始值;判断条件){
初始值自增或者自减;
}
switch(条件)//条件一般是一个数字,判断这个数字是几;
{
case 0;//当条件等于0的时候执行;
break;//结束语句,结束此次循环;
case 1://当条件等于1的时候执行
break;//结束语句;
case2:
default:以上条件都不满足的时候,执行的语句;
break;
}