36.有以下程序
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
要明白两个要点 while循环 和switch语句。
过程如下:
当k=5,执行default: break;此时n变为0
k=4,执行default: break;此时n变为0
k=3,执行case3: n+= k;即n=n+k=3
k=2,先执行case2: 再执行case3: n+=k;即n=3+2=5
k=1,执行case1: n+= k; case2: case3: n+= k;
即n=5+1=6;再继续n=6+1=7
k=0时,k不满足条件,此时退出循环,
输出n=7