main()
{int i=0;
for(i+=3;i<=5;i=i+2)
switch(i%5)
{case 0: printf("*");
case 1: peintf("#");break;
default: printf("!");break;
case 2: printf("&");
}
}
写出答案的朋友 把求解过程说明下!! 谢谢 小弟初学C 要看过程~!!!!谢谢了
參考答案:!*#
第一次进入
for(i+=3;i<=5;i=i+2)
这时i=3,判断i<=5满足,执行
switch(i%5)
{case 0: printf("*");
case 1: peintf("#");break;
default: printf("!");break;
case 2: printf("&");
}
找标签,default满足,从default起执行,printf("!");break;所以第一个打出了!
第二步:i=i+2,i==5,仍满足i<=5,所以
switch(i%5)
{case 0: printf("*");
case 1: peintf("#");break;
default: printf("!");break;
case 2: printf("&");
}
找标签,i%5是0,从case 0起执行,printf("*"); 注意!!!!这里没有break!所以继续printf("#");break;
完毕。
第三步:i=i+2,i==7 跳出循环。
所以一共是:!*#