有以下程序: #include main() {int a,b; for(a=0;a

admin2016-04-07  27

问题 有以下程序:
    #include
    main()
    {int a,b;   
    for(a=0;a<3;a++)
    {scanf("%d",&b);  
    switch(b)   
    {default:printf("%d,",b+1);continue;
    case 1:printf("%d,",b+1);
    case 2:printf("%d,",b+1);continue;
    }
    }
    }
    执行时输入:1 2 3<回车>,则输出结果是(    )。

选项 A、2,2,3,4,4,4,
B、2,3,4,
C、2,2,3,4,
D、2,3,3,4,5,6,

答案C

解析 continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环。在switch…case语句中,如果没有break会导致多个分支重叠。因此,输入1,2,3,则1执行case 1:printf("%d,",b+1);case 2:printf("%d,",b+1);continue;后结束。2则执行case 2:printf("%d,",b+1);continue;3则执行default:printf("%d,",b+1);continue;得到的结果是2,2,3,4。故答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/73Dp777K
0

最新回复(0)