鱼C论坛

 找回密码
 立即注册
查看: 1458|回复: 4

[已解决]c语言if条件语句不知道哪儿错了

[复制链接]
发表于 2020-4-25 17:06:45 | 显示全部楼层
SugarCane88 发表于 2020-4-25 16:28
我分析您的代码发现几个问题:
1. a 没有被用到;
2. int main() 没有返回值;

你指出的第三点,不是不合适,而是本身写法就不对。
C语言中不能连着比较数的大小,这样会把前面的结果与后面的比较,
120<=score<180  会先进行120<=score,其结果再和180进行比较,,而前面的比较结果为0或1,再与180 比较肯定为真啊,所以不管你输入多少,这个if判断都为真
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-4-25 17:09:05 | 显示全部楼层    本楼为最佳答案   
分段完全可以直接if…else…何必多个if呢。
另外return 0直接写到最后面就行了。因为你的外层if…else…之后没有其他语句了。一个return就可以吧if和else两种情况都涵盖在内了
  1. #include<stdio.h>
  2. int main()
  3. {

  4.     float score,a;
  5.     printf("请输入分数:");
  6.     scanf("%f",&score);
  7.     if(0>=score||score>=200){
  8.         printf("请输入正确的分数\n");
  9.     }
  10.     else{
  11.         if(180<=score){
  12.             printf("成绩为A\n");
  13.         }
  14.         else if(120<=score){
  15.             printf("成绩为B\n");
  16.         }
  17.         else
  18.             printf("sadfdsfsdafadsfdsafdfaf\n");
  19.     }
  20.     return 0;
  21. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-23 02:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表