问题 单项选择题

有以下程序:
main()
int k=5, n=0;
while(k>0);
switch(k)
default; break;
case 1:n+=k;
case 2;
case 3:n+=k;

k--;

printf("% d\n", n);

程序运行后的输出结果是______。

A.0

B.4

C.6

D.7

答案

参考答案:D

解析: 当k为4、5时,n值没有变化。当k=3时,满足case 3,得到n=3;当k=2时,满足case 2,因为没有break语句,继续执行case 3得n=n+2=5;当k=1时,满足case 1,得n=6,又因为没有break,继续执行case 2,case 3,最后得n=7。

选择题
单项选择题 A1/A2型题