执行下列程序,输入数据:abed / #include void main() { int c;   while(( c= getchar())!='\n')  { switch( c - 'a')    { case 0:    case 1: putchar(c+3); break;    case 2: putchar(c+2);    default: putchar(c+1); break;   }  }  printf"\n"); }
执行下列程序,输入数据:abed / #include void main() { int c;   while(( c= getchar())!='\n')  { switch( c - 'a')    { case 0:    case 1: putchar(c+3); break;    case 2: putchar(c+2);    default: putchar(c+1); break;   }  }  printf"\n"); }
【正确答案】:deede
【题目解析】:一共执行四次循环:第一次循环,c的到的字符‘a’,switch( c - 'a')括号中的值为0,执行case 0:后面的语句,case 0:后面没有语句,继续执行执行case 1:后面的语句putchar(c+3);输出字符‘d’,然后执行break跳出switch语句。第二次循环,c的到的字符‘b’,switch( c - 'a')括号中的值为1,执行case 1:后面的语句putchar(c+3);输出字符‘e’,然后执行break跳出switch语句。第三次循环,c的到的字符‘c’,switch( c - 'a')括号中的值为2,执行case 2:后面的语句putchar(c+2);输出字符‘e’,后面没有break语句,继续执行default: 后面的语句putchar(c+1); 输出字符‘d’,然后执行break跳出switch语句。第四次循环,c的到的字符‘d’,switch( c - 'a')括号中的值为3,执行default: 后面的语句putchar(c+1); 输出字符‘e’,然后执行break跳出switch语句。所以输出结果为deede。
Top