单选题 有以下程序:
main()

int i;
for(i=0;i<3;i++)
switch(i)

case1:printf("%d",i);
case2:printf("%d",i);
default:printf("%d",i);


执行后输出结果是( )。

【正确答案】 A
【答案解析】[解析] for循环执行了3次,第一次时i的值为0,执行其后的switch语句,没有匹配的分支,执行default语句后的printf语句,输出为0;第二次循环时i的值为1,执行其后的switch语句,与第一个分支匹配,执行其后的primf语句,输出1,由于没有遇到break语句,所以一直向下执行,又输出了两个1,第三次循环时i值为2,执行其后的switch语句,同理输出两个2。所以, A选项是正确的。