有以下程序:
#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<回车>,则输出结果是( )

  • A66656
  • B6566456
  • C66666
  • D6666656
参考答案: B
解题思路: switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句,然后退出。所以输入1时打印65,输入2时打印6,输入3时打印64,输入4时打印5,输入5时打印6。>>>立即刷题