c语言else if 如果有多个条件满足是执行第一个满足条件的语句还是所有满足条件的语句?

c语言else if 如果有多个条件满足是执行第一个满足条件的语句还是所有满足条件的语句?
kiki_sj139级分类:其他被浏览370次2013.01.23检举

if (表达式1)
(语句1)
else if(表达式2)
(语句2)
else if (表达式3)
(语句3)
else
(语句4)
加入表达式表达式1、3同时成立、2、2、3的条件有重复使表达式1加入有以下语句,那在这个选择语句中那个语句会被执行呢

if...else if...多分支语句只执行最前面满足条件的那个分支,其余均跳过。追问

scanf ("%d", &m);
if ( m <= 1) {
is_prime = 0;
} else if (m == 2) {
is_prime = 1;
} else if (m % 2 == 0) {
is_prime = 0;
} else{
is_prime = 1;
}
limit = sqrt(m) + 1;
for(i = 3; i <= limit; i += 2){
if(m % i == 0){
is_prime = 0;
break;
}
}

输入11为啥is prime是1呢

追答

11是素数啊,代码正确的话应该得到is_prime=1啊。

温馨提示:答案为网友推荐,仅供参考