C语言中的多个if语句只执行最后一个语句是因为一个if语句只能对应一个语句,而多个if语句的语句块之间是独立的,每个if语句的判断结果并不会影响到其他if语句的执行,因此当多个if语句同时满足条件时,只有最后一个if语句会执行。此时,前面的if语句会被忽略,因为它们返回的结果没有被使用。
示例代码:
#include <stdio.h>
int main()
{
int score = 82;
if(score >= 90){
printf("优秀\n");
}
if(score >= 80){
printf("良好\n");
}
if(score >= 70){
printf("中等\n");
}
if(score >= 60){
printf("及格\n");
}
if(score < 60){
printf("不及格\n");
}
return 0;
}
在这个示例代码中,如果score等于82,那么程序的输出结果为:
良好
中等
及格
因为只有最后一个if语句的条件不满足,其它的if语句条件都满足,所以只有最后一个if语句的语句块被忽略了,其它if语句的语句块都会执行。