鱼C论坛

 找回密码
 立即注册
查看: 3143|回复: 11

该代码有何问题?

[复制链接]
发表于 2021-6-20 23:40:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请观察以下代码:
#include <stdio.h>

int main()
{
    printf("请输入:");
    int a=scanf("%d",&a);
    char b,c,d,e;
    b="A";
    c="B";
    d="C";
    e="D";
    if(a >= 10)
    {
        printf("%c",b);
    }
    else if(7 < a <10)
    {
        printf("%c",c);
    }
    else if(4 < a <= 7)
    {
        printf("%c",d);
    }
    else if(0 <= a <= 4)
    {
        printf("%c",d);
    }
    return 0;
}
存在何问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-21 06:24:19 From FishC Mobile | 显示全部楼层
else if(7 < a <10)问题所在,含下面几个类似语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-21 10:09:10 | 显示全部楼层
本帖最后由 Hoiste 于 2021-6-21 10:11 编辑

7 < a <10这里,C里面的比较运算符不能这么连用,可能有些地方不会报错,但也不会有输出,要实现这种思路需要用到与运算(&&),正确的表达是:
7 < a && a < 10
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-21 11:37:01 | 显示全部楼层
0<=a<=4不能连用,要分开a>=0&&a<=4
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-21 12:22:31 | 显示全部楼层
小于小于号谁叫你这么用的连我这个小菜鸡都看得出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-21 13:33:06 | 显示全部楼层
Thank you
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-21 13:34:41 | 显示全部楼层
Gacy 发表于 2021-6-21 12:22
小于小于号谁叫你这么用的连我这个小菜鸡都看得出

菜鸡咋了,有何干系
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-21 14:24:26 | 显示全部楼层
不能连续比较  
因为比较操作符的结果是个值(真或假
  else if(7 < a <10)  先执行前面    判断7 <a 是否为真
然而    1or0     永远小于 10
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-21 15:06:04 | 显示全部楼层
斯劳123 发表于 2021-6-21 13:34
菜鸡咋了,有何干系

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-21 19:24:32 | 显示全部楼层
7 < a <10  c语言不支持这用的 你要用逻辑与符号(&&),else if   建议直接使用  else
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-21 21:26:27 | 显示全部楼层
斯劳123 发表于 2021-6-21 13:34
菜鸡咋了,有何干系

呜呜呜
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-22 09:36:43 From FishC Mobile | 显示全部楼层
我找到问题所在
不单单只有这一点
还有一个问题
int a=scanf("%d",&a);要改为
int a;
scanf("%d",&a);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 12:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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