A-A+
以下程序运行后的输出结果是【 】。 main() { int i m=0 n=0 k=0;
问题详情
以下程序运行后的输出结果是【 】。 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%dn",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语句,循环结束。故该空格处应该填132。