金熙川 发表于 2020-7-13 13:55:17

关于scanf函数问题。请大伙帮我看看

#include<stdio.h>

int main()
{
        float a,b,c;
        printf("Please enter the a,b,c:");
        scanf("%f,%f,%f",&a,&b,&c);
        printf("%f,%f,%f",a,b,c);
       
        return 0;
}
这样以后,输入1.2.3得到的结果只有a被赋了值,而b和c都是0.000000,请问为什么啊,我是按照scanf里面的用逗号隔开输入了呀

永恒的蓝色梦想 发表于 2020-7-13 14:01:58

你要输入1,2,3字符必须匹配。

Snopy 发表于 2020-7-13 14:03:24

兄弟你输入的‘.’无法被浮点数读取,输入1,2,3

sunrise085 发表于 2020-7-13 14:25:05

scanf函数读取键盘输入,格式化内容要和输入内容一致,你写的scanf("%f,%f,%f",&a,&b,&c);中间是以逗号隔开的,就输入第一个数后就要输入一个逗号,否则就会出错。还要注意输入的逗号是中文逗号还是英文逗号。
一般情况下scanf内除了格式化操作符以外,不加任何符号,连空格都不要加
你可以看看我之前回答的一个有关scanf的帖子
之前回答的一个帖子

金熙川 发表于 2020-7-13 15:15:02

sunrise085 发表于 2020-7-13 14:25
scanf函数读取键盘输入,格式化内容要和输入内容一致,你写的scanf("%f,%f,%f",&a,&b,&c);中间是以逗号隔开 ...

我就是输入数字后加了逗号呀是英文的逗号

sunrise085 发表于 2020-7-13 15:19:04

本帖最后由 sunrise085 于 2020-7-13 15:20 编辑

金熙川 发表于 2020-7-13 15:15
我就是输入数字后加了逗号呀是英文的逗号

那就不知道了
若输入正确的话,是不应该出错的。我这里没有任何问题。
截图吧,不太相信你说的。。。
用图床发图,你是新鱼友,可能还没有权限发图

金熙川 发表于 2020-7-13 17:43:52

Snopy 发表于 2020-7-13 14:03
兄弟你输入的‘.’无法被浮点数读取,输入1,2,3

我上面打错了,&#128531;,我就是输入的,(逗号)

金熙川 发表于 2020-7-13 17:44:55

sunrise085 发表于 2020-7-13 15:19
那就不知道了
若输入正确的话,是不应该出错的。我这里没有任何问题。
截图吧,不太相信你说的。。。 ...

啊,我没权限发图,是真的   我从昨晚到现在都还没弄明白,理论是正确的,难道是我编译器错了??

金熙川 发表于 2020-7-13 17:46:48

sunrise085 发表于 2020-7-13 15:19
那就不知道了
若输入正确的话,是不应该出错的。我这里没有任何问题。
截图吧,不太相信你说的。。。 ...

刚换了个编译器试了试,成功了哈哈,还是多亏了你的那几篇回答,谢谢咯
页: [1]
查看完整版本: 关于scanf函数问题。请大伙帮我看看