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

admin2010-09-05  24

问题 有以下程序:    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。
转载请注明原文地址:https://kaotiyun.com/show/3KWp777K
0

最新回复(0)