单选题 有以下程序: #include main() { int s; scanf(“%d”,&s); while(s>0) { switch(s) { case 1:prinff(“%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<回车>,则输出结果是( )。
【正确答案】 B
【答案解析】解析:switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个ease后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句。然后退出。所以输入1时打印65,输入2时打印6,输入3时打印64,输入4时打印5,输入5时打印6。