有以下程序: main() { int i; for(i=0;i<3;i++) switch(i) { case1:printf("%d",i); case2:printf("%d",i); defau

admin2009-04-15  4

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

选项 A、11122
B、12
C、12020
D、120

答案1

解析 for循环执行了3次,第一次时i的值为0,执行其后的switch语句,没有匹配的分支,执行default语句后的printf语句,输出为0;第二次循环时i的值为1,执行其后的switch语句,与第一个分支匹配,执行其后的primf语句,输出1,由于没有遇到break语句,所以一直向下执行,又输出了两个1,第三次循环时i值为2,执行其后的switch语句,同理输出两个2。所以, A选项是正确的。
转载请注明原文地址:https://jikaoti.com/ti/1ZI0FFFM
0

最新回复(0)