有以下程序: #include main( ) { int x=1,y=0,a=0,b=0; switch(X) { ease 1:switch(y) {ease 0: a++;break; (3aBe 1:

admin2015-08-09  47

问题 有以下程序:
    #include
    main( )
{  int x=1,y=0,a=0,b=0;
switch(X)
    {  ease 1:switch(y)
    {ease 0:  a++;break;
    (3aBe 1:  b++;break;
    }
    case 2:  a++;b++;  break;
    }
    printf("a=%d,b=%d\n",a,b;
    }
    程序运行后的输出结果是(    )。

选项 A、a=1,b=0
B、a=1,b=1
C、a=2,b=1
D、a=2,b=2

答案C

解析 本题重点考查switch语句。switch语句中case分支后面如果没有break,那么就会顺序执行下面的case,直到遇到break跳出。由于变量a和变量b均赋初值为0,当程序执行完第二层switch的语句case 0:  a++,break后,第二层switch结束,a的值为1,继续执行第一层switch的语句case 2:  a++;  b++;  break;a的值为2,b的值为1。因此C选项正确。
转载请注明原文地址:https://jikaoti.com/ti/f6i0FFFM
0

最新回复(0)