问题 单项选择题

有以下程序:
#include <stdio.h>
main()
int i;
for(i=0; i<3; i++)
switch(i)
case 0: printf("%d", i);
case 2:printf("%d", i);
default: printf("%d", i);


程序运行后的输出结果是( )。

A) 022111
B) 021021
C) 000122
D) 012

答案

参考答案:C

解析: 本题考核的知识点是for循环和switch语句的混合应用。程序中for循环了三次,第一次i=0,执行switch语句中case 0:分支,直到遇到default语句,退出switch,这里共执行了三个输出语句,分别输出0, 0, 0。第二次循环i=1,switch语句中没有匹配的分支,故只执行default语句,输出l,退出switch语句。第三次循环i=2,从switch语句中的case 2:开始执行,共执行了两个输出语句,输出2、2。最后输出的结果为000122。所以,4个选项中选项C)符合题意。

多项选择题
问答题 简答题