NAGAYA 发表于 2022-7-8 20:48:37

有关else if逻辑判断的疑惑


为什么这样写的代码,输入的数据如果是20的话,会输出良好。
不等形式的判断式必须要写成score<80&&score>=60的形式吗?



#include <stdio.h>
int main(void)
{
    //模拟学生成绩等级划分
    int score;
    printf("请输入分数:\n");
    scanf_s("%d", &score);
    if (score >= 90)
    {
      printf("优秀。\n");
    }
    else if(80<=score<90)
    {
      printf("良好。\n");
    }
    else if(60<=score<80)
    {
      printf("合格。\n");
    }
    else
    {
      printf("不合格。\n");
    }
    return 0;
}




傻眼貓咪 发表于 2022-7-8 21:02:17

C 语言不能懒,判断语句写完整啊!80<=score<90 改写成 80 <= score && score < 90,其余的也是。

NAGAYA 发表于 2022-7-8 21:07:01

傻眼貓咪 发表于 2022-7-8 21:02
C 语言不能懒,判断语句写完整啊!80

不可以像上面那样写吗,是语法限制吗

临时号 发表于 2022-7-8 21:20:29

NAGAYA 发表于 2022-7-8 21:07
不可以像上面那样写吗,是语法限制吗

这是C语言的语法规定的,我们必须遵守

NAGAYA 发表于 2022-7-8 21:21:06

临时号 发表于 2022-7-8 21:20
这是C语言的语法规定的,我们必须遵守

好的,谢谢。

傻眼貓咪 发表于 2022-7-8 22:41:46

NAGAYA 发表于 2022-7-8 21:07
不可以像上面那样写吗,是语法限制吗

能这样写,但不是你想要的结果
页: [1]
查看完整版本: 有关else if逻辑判断的疑惑