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

admin2009-01-15  12

问题 有以下程序    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

答案8

解析 本题考查的是switch语句。switch语句中的case或default只是一种入口标号,它并不形成一种子句的概念。当满足其中某个标号的条件而进入switch语句中时,如果没碰到 break语句,将一直执行到switch语句的结尾。题目中使用了一个while循环使k从5递减到1,当k=5或4的时候从default标号进入switch,碰到break;语句立即跳出,没有改变n:当k=3时,执行了一次 n+=k;;k=2时,也执行了一次n+=k;k=1时,执行了两次n+=k;所以最终n的值为3+2+1+1=7。故应该选择D。
转载请注明原文地址:https://jikaoti.com/ti/UYS0FFFM
0

最新回复(0)