百年孤独i 发表于 2020-8-13 23:31:00

if语句比大小

#include <stdio.h>

int main()
{
        float a,b,t;
        scanf("%f,%f",&a,&b);
        if(a>b)
        {
                t = a;
                a = b;
                b = t;
        }
        printf("%5.2f,%5.2f\n",a,b);

}
输入3.6,-3.2
结果输出-107374176.00, 3.60 理论应该为-3.20,3.60.求解答
Press any key to continue

baige 发表于 2020-8-14 00:03:15

本帖最后由 baige 于 2020-8-14 00:04 编辑

输入格式的问题,要跟scanf语句里的格式一样,
你的输入格式是中文逗号,要英文逗号

百年孤独i 发表于 2020-8-14 01:32:57

baige 发表于 2020-8-14 00:03
输入格式的问题,要跟scanf语句里的格式一样,
你的输入格式是中文逗号,要英文逗号

我试了还是结果输出-107374176.00, 3.60 理论应该为-3.20,3.60

baige 发表于 2020-8-14 05:54:54

本帖最后由 baige 于 2020-8-14 06:05 编辑

我这边输出没问题,这样,你把scanf里面逗号去掉吧,这样就不用输入逗号了,输入的两个数用空格隔开

百年孤独i 发表于 2020-8-15 01:10:29

baige 发表于 2020-8-14 05:54
我这边输出没问题,这样,你把scanf里面逗号去掉吧,这样就不用输入逗号了,输入的两个数用空格隔开

取消逗号可以了 不取消为啥输出一串子东西....

baige 发表于 2020-8-15 07:35:58

百年孤独i 发表于 2020-8-15 01:10
取消逗号可以了 不取消为啥输出一串子东西....

因为你不知道自己输入的到底是中文还是英文逗号,格式错误,第二个数没有接收到数据,就是一个随机的数
页: [1]
查看完整版本: if语句比大小