若运行下列程序时,输入以下指定数据,则正确的运行结果是( )。 #include<stdio.h> main() { int i; while((i=getchar())!=’\n’) { swi

admin2013-08-15  22

问题 若运行下列程序时,输入以下指定数据,则正确的运行结果是(    )。
    #include<stdio.h>
    main()
    {  int i;
       while((i=getchar())!=’\n’)
      {  switch(i)
         { case’0’:
           case’1’:putchar(i+4);
           case’2’:putchar(i+4);break;
           case’3’:putchar(i+4);
           default:putchar(i+2);break;
        }
      }
      pfintf("\n");
    }
    输入数据(第一列):2473<回车>

选项 A、6688766
B、66975
C、66778777
D、668966

答案B

解析 在执行switch语句的case时,遇到break语句时,结束当前switch语句,若case语句中无break语句,将接着执行下一个case语句。本题中,输入数据2473后,i的初值为2。执行switch语句时,首先执行“case ’2’:putcllar(i+4);break;”语句,输出字符“2+4”即“6”。当程序第二次进入while循环,i的值被赋为4。执行switch语句时,将执行“default:putcIlar(i+2);break;”语句,输出字符“4+2”即“6”。当程序第三次进入while循环,i的值被赋为7,执行switch语句时,将执行default:putchar(i+2);break;语句,输出字符“7+2”即“9”。当程序第四次进入while循环,i的值被赋为3。执行switch语句时,将执行“case’3’:putchar(i+4);default:putcllar(i+2);break;"语句,先后输出字符“3+4”即“7”和“3+2”即“5”。由上分析可知运行结果为66975。
转载请注明原文地址:https://jikaoti.com/ti/61n0FFFM
0

最新回复(0)