问题 单项选择题

以下程序的输出结果是( )。 #include <stdio.h> main() { int a,i;a=0;for(i=1;i<5;i++){ switch(i) { case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; }}printf("%d\n",a); }

A.31

B.13

C.10

D.20

答案

参考答案:A

解析: 多分支选择switch语句的一般形式为: switch(表达式) { case常量表达式1:语句1; case常量表达式2:语句2; ┆ case常量表达式n:语句n; default:语句n+1; }其语义是:计算表达式的值,并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,不再进行判断,继续执行后面所有case后的语句。如果表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

选择题
单项选择题