有以下程序 #include <stdio.h> main() { int s; scanf("%d", &s); while( s>0 ) { switch(s)

admin2021-02-25  17

问题 有以下程序
    #include <stdio.h>
    main()
    {   int  s;
        scanf("%d", &s);
        while( s>0 )  
        {  switch(s)
           { case 1: printf("%d", s+5);
             case 2: printf("%d", s+4); break;
             case 3: printf("%d", s+3);
             default: printf("%d", s+1); break;
           }
           scanf("%d", &s);
        }
    }
运行时,若输入1 2 3 4 5 0<回车>,则输出结果是

选项 A、66656
B、6566456
C、66666
D、6666656

答案B

解析 switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句,然后退出。所以输入1时打印65,输入2时打印6,输入3时打印64,输入4时打印5,输入5时打印6。
转载请注明原文地址:https://kaotiyun.com/show/uBtp777K
0

最新回复(0)