#include <stdio.h>
main(){
int a=2,b=3,c=4,i=5;
while(--i>0){
if(i%2==0) continue;
switch(i){
case 1:printf("%4d",1);
case 2:printf("%4d",2);
case 3:printf("%4d",3);break;
case 4:printf("%4d",4);break;
case 5:printf("%4d",5);break;
}}
printf("%4d\n",i);
if(a>b)
if(a>c) printf("%d\n",a);
else printf("%d\n",b);
}
请问后面的2和3是怎么输出来的
//i=2或者i=1,输出0002
//i=3或者i=2或者i=1,输出0003
为什么是这样的?
i=1时 输出000100020003
因为case 1和case 2之后没有break,因此不跳出判断继续往下执行,直到遇到break