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

admin2019-01-11  30

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

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

答案C

解析 程序在执行switch语句时,根据switch后面表达式的值找到匹配的入口标号,执行对应的ease语句,之后不再进行判断,继续执行此ease后面的语句,并且各个case和default的出现次序不影响执行结果,即题目中的default放在开始位置,与放在最后是一样的结果;运算符“++”放在变量后面时,表示先执行其他操作,再将变量+1。本题,第一次循环输入b=1,执行case 1,输出l;再执行ease 2,输出2。第二次循环输入b=2,执行case 2,输出2。第三次循环,输入b=3,没有ease与其对应,故执行default,输出b=3,接着执行case 1,输出4,再执行ease 2,输出b=5,至此退出for语句。因此,最后输出为1,2,2,3,4,5,答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/A4xp777K
0

随机试题
最新回复(0)