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语句的语句块都会执行。