有以下程序 #include <stdio.h> main() { char c; while( ( c=getchar() )!= ’\n’ ) { switch( c-’2’ ) { ca

admin2021-06-15  45

问题 有以下程序
#include <stdio.h>
main()
{
   char  c;
   while( ( c=getchar() )!= ’\n’ )
   {
      switch( c-’2’ )
      {
          case  0  :
          case  1 : putchar( c+4 );
          case  2 : putchar( c+4 ); break;
          case  3 : putchar( c+3 );
          default : putchar( c+2 ); break;
      }
   }
   printf( "\n" );
}
程序运行后从第一列开始输入以下数据
2473<回车>
程序的输出结果是

选项 A、668977
B、4444
C、6677877
D、68766

答案A

解析 本题执行过程为:输入c=’2’,c-’2’=0,首先匹配case0,依次输出6,6,后执行break语句,跳出分支结构;输入c=’4’,c-’2’=2,匹配case2,输出8,执行break语句,跳出分支结构;输入c=’7’,c-’2’=5,匹配default,输出9,执行break语句,跳出分支结构;输入c=’3’,c-’2’=1,匹配case1,依次输出7,7,执行break语句,跳出分支结构。输入回车,结束循环。A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/ahz0FFFM
0

最新回复(0)