#include
int main(){
int i,m=0,n=0,k=0;
for(i=9; i<=11;i++)
switch(i%10){
case 0: printf("%d\n",m);
m++; n++; break;
case 1: printf("%d\n",n);
n++; break;
default: k++; n++;
}
printf("%d %d %d\n",m,n,k);
return 0;
}
答案0 2 1 3 1怎么来的
i=9进来default执行后k=1 n=1
i=10进来 case 0执行后,先打印m,这时m=0所有打印的第一个就是0,再m n+1后就是m=1,n=2
i=11时,case 1执行,先打印n,打印出2,然后再n+1后n=3
循环结束就最后输出
i=9时i % 10=9,既不是9也不是1,执行default那部分的,k++,n++,然后k=1,n=1
之后是i=10,i % 10 = 0,执行case 0下面的语句,输出m,此时m=0,则输出0,然后m++,n++,m变为1,n变为2
然后 i = 11,此时 i % 10 = 1,执行case 1下面的语句,输出n,n=2,则输出2,然后n++,n边为3
最后输出m,n,k,依次是1,3,1