单选题 有以下程序: #include main() {int s=5,i; for(i=1;i<3;i++) switch(i) {default:s+=i; case 2:s++;break; case 4:s+=2;break; } printf(''%d\n'',s); } 程序运行后的输出结果是( )。
【正确答案】 B
【答案解析】解析:在switch语句中一般会将default语句放在最后,作为最后一个分支,所以通常后面不会跟break语句,但本题中将default放在了最前面,所以其后要跟break才不会出现误操作,但本题中没有break,所以要仔细分析。for循环只执行2次,第1次i=1,此时执行switch语句中的default语句。但因为后面没有break语句,所以会继续执行case 2语句,并在碰到其后的break语句后跳出switch语句,此时s=7;当执行第2次for循环是。i=2,此时只执行s++一句,所以结果是s=8。