问题 单项选择题

有以下程序:
#include <stdio.h>
main()

int c=0,k;
for(k=1;k<3;k++)
switch(k)
default:c+=k;
case 2:c++;break;
case 4:c+=2;break;

printf("%d\n",c);

程序运行后的输出结果是。

A) 9
B) 7
C) 5
D) 3

答案

参考答案:D

解析: 第一次循环时,k=1,在switch语句中,先执行default后面的语句,即c=c+k=1,因为没有break语句,所以不会跳出switch结构,会接着执行case2后面的语句,即c=c+1=2,然后跳出switch;第二次循环时,k=2,直接执行case2后面的语句,即c=c+1=3,然后跳出switch语句,结束循环,执行输出语句。

选择题
选择题