有以下程序: #include<stdio.h> main() { int c; while((c=getchar0)!=’\n’) { switch(c-’3’) { case 0: ca

admin2017-03-23  68

问题 有以下程序:
    #include<stdio.h>
    main()
    {    int c;
    while((c=getchar0)!=’\n’)
    {  switch(c-’3’)
    {  case 0:
    case 1:putchar(c+4);
    case 2:putchar(c+4);break;
    case 3:putchar(c+3);
    case 4:putchar(c+3);break;
    }}
    printf(’’\n’’);}
    从第一列开始输入数据(<CR>代表一个回车符):3845<CR>,则程序输出结果为(    )。

选项 A、77889
B、77868
C、776810
D、77886610

答案A

解析 题中while循环的条件是:当从键盘读入的字符不是“’\n’”时,执行while循环。
    输入第一个字符3时:执行case 0,什么也不输出;case 1,输出7;case 2,输出 7;遇到break语句,跳出switch语句。输入第二个字符8时“c-’3’=5”,不执行任何语句。输入第三个字符4时“c-’3’=1”,执行case 1输出8;case 2,输出8;遇到break语句,跳出switch语句。输入第四个字符5时“c-’3’=2”,执行case2,输出9;遇到break语句,跳出switch语句。
转载请注明原文地址:https://kaotiyun.com/show/TcDp777K
0

最新回复(0)