问题 单项选择题

下列程序的输出结果是( )。
#include<stdio.h>
main()
int a=0, i;
for(i=1; i<5; i++)
switch(i)
case 0:
case 3: a+=1;
case 1:
case 2: a+=2;
default: a+=3;


printf("%d", i);

A.19

B.1

C.6

D.8

答案

参考答案:A

解析: 本题考查switch语句。当i=1时,执行case 1,因为没有遇到break语句,所以依次往下运行,“a=a+2=2,a=a+3=5”;当i=2时,执行case 2,因为没有遇到break语句,所以依次往下执行,“a=a+2=7,a=a+3=10”;当i=3时,执行case 3,a=a+1=11,因为没有遇到break语句。所以依次往下运行,a=a+2=13,a=a+3=16,当i=4时,执行default,a=a+3=19,结束循环。

单项选择题
选择题