有以下程序: #inc1ude main() {int c; while((c=getchar())!=’u’) {switch(c—’3’) {case 0: case 1:putchar(c+

admin2021-07-09  16

问题 有以下程序:
    #inc1ude  
    main()
    {int c;
    while((c=getchar())!=’u’)
    {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");}
    从第一列开始输入数据(代表一个回车符):
    3 845,则程序输出结果为(    )。

选项 A、77889
B、77868
C、776810
D、7.78866e+007

答案A

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

最新回复(0)