问题 单项选择题

有以下程序: 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。

单项选择题
单项选择题