问题 单项选择题

有以下程序 main() {int i; for(i=0;i<3;i++)switch(i){ case0:printf("%d",i); case2:printf("%d",i); default:printf("%d",i);} } 程序运行后的输出结果是

A.022111

B.021021

C.000122

D.012

答案

参考答案:C

解析:程序中for循环了三次,第一次i=0,执行switch语句中case0:分支,直到遇到default语句,退出switch,这里共执行了三个输出语句分别输出0,0,0,第二次循环i=1,switch语句中没有匹配的分支,故只执行default语句输出1,退出switch语句;第三次循环i=2,从switch语句中的case2:开始执行,共执行了两个输出语句输出2、2。最后输出的结果为000122。

选择题
判断题