S-Black 发表于 2021-3-11 23:53:59

程序结果和预想不一样呀

#include<stdio.h>
int main()
{
        int age; float score;
        scanf("%d,%f", &age, &score);
        if (age < 18 || score < 60)
        {
                if (age < 18) { printf("你还未成年\n"); }
                else if (score < 60) { printf("你成绩不合格\n"); }
        }
        else
                printf("你满足条件\n");
        return 0;
}

我输入的值age=18,score=66;
他的结果却输出了你成绩不合格。
两个结果都不为真,怎么还会进入里面的语句呢?


昨非 发表于 2021-3-12 00:10:22

代码没问题
但要注意你的输入方式:
18,66
你满足条件

S-Black 发表于 2021-3-12 00:13:08

昨非 发表于 2021-3-12 00:10
代码没问题
但要注意你的输入方式:

啊?不是小于18或者小于60吗
一个等于18,一个大于60,这还怎么成立了呢?

昨非 发表于 2021-3-12 00:17:45

S-Black 发表于 2021-3-12 00:13
啊?不是小于18或者小于60吗
一个等于18,一个大于60,这还怎么成立了呢?

不成立啊
所以才执行到else,输出你满足条件

S-Black 发表于 2021-3-12 00:25:08

昨非 发表于 2021-3-12 00:17
不成立啊
所以才执行到else,输出你满足条件


没有呀,他输出给我的是你成绩不合格。。。。我又试了几次,score不管改多大都是不合格。。。

昨非 发表于 2021-3-12 00:27:17

S-Black 发表于 2021-3-12 00:25
没有呀,他输出给我的是你成绩不合格。。。。我又试了几次,score不管改多大都是不合格。。。

看看你的逗号是不是中文
必须是英文逗号和格式串里的完全一样

S-Black 发表于 2021-3-12 00:28:55

昨非 发表于 2021-3-12 00:27
看看你的逗号是不是中文
必须是英文逗号和格式串里的完全一样

哦~~~~~太感谢了。。。原来我程序里面的那个打的是逗号,
但是我调试的时候打的是空格。。。吐了吐了

昨非 发表于 2021-3-12 00:30:29

S-Black 发表于 2021-3-12 00:28
哦~~~~~太感谢了。。。原来我程序里面的那个打的是逗号,
但是我调试的时候打的是空格。。。吐了吐了

{:10_245:}
页: [1]
查看完整版本: 程序结果和预想不一样呀