问题
单项选择题
有以下程序: 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。