问题
填空题
以下程序运行后的输出结果是 【9】 。
main()
int i,m=0,n=0,k=0;
for(i=9;i<=11;i++)
switch(i/10)
case 0:m++;n++;break;
case 10:n++;break;
default:k++;n++;
printf("%d%d%d\n",m,n,k);
答案
参考答案:1 3 2
解析:主函数中用了一个for循环,for循环里嵌套了一个switch语句,for循环了三次,当i=9时,i/10=0,执行switch语句中case0分支,m和n的值各加1,变为1和1,然后遇到break语句,退出switch语句;当i=10,i/10=1,执行switch语句中default分支,使 k和n的值各加1变为1和2,退出switch语句;当i=11时,i/10=1,执行switch语句中 default分支,k和n的值各加1变为2和3,退出switch语句,循环结束。故该空格处应该填1 3 2。