有以下程序 #include<stdio.h> yoidmain( ) { intc=0,k; for(k=1;k<3;k++) switch(k) { default:c+=k; case2:c++;break; case4:c+=2;break;

admin2020-07-28  41

问题 有以下程序
#include<stdio.h>
yoidmain(    )
{
intc=0,k;
for(k=1;k<3;k++)
switch(k)
{
default:c+=k;
case2:c++;break;
case4:c+=2;break;
}
printf(’’%d\n’’,c);
}

选项 A、9
B、7
C、5
D、3

答案D

解析 在这段程序中,整型变量c的初始值赋为0,在第一次执行for循环语句时,因为此时变量k的值等于1,所以在switch语句中首先执行default语句,给变量c的值加l,因为在default语句后面没有break语句,所以就会接着执行case2这条语句,再给变量c的值加1,其值变为2,这时退出switch语句块,进入第二次for循环,此时k的值等于2,就会执行switch语句块中的case2这条语句,再给变量c的值加1,这时变量c的值就是3,此时退出switch语句块,循环变量k的值加1,成为3,此时已不再满足循环条件,执行程序中的最后一条语句,把变量c的值在屏幕上输出。
转载请注明原文地址:https://jikaoti.com/ti/rkD0FFFM
0

相关试题推荐
最新回复(0)