鱼C论坛

 找回密码
 立即注册
查看: 1059|回复: 10

[已解决]关于scanf格式问题

[复制链接]
发表于 2020-11-3 19:57:46 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 fishyou 于 2020-11-3 20:15 编辑

#include <stdio.h>
#include <math.h>

main()
{
     double a,b,c,s,area;
        scanf("%lf,%lf,%lf",&a,&b,&c);    //这个地方scanf("%lf,%lf,%lf",&a,&b,&c);和scanf("%lf %lf  %lf",&a,&b,&c);有什么区别

         printf("a=%f\n",a);
         printf("b=%f\n",b);
         printf("c=%f\n",c);
         s=1.0/2*(a+b+c);
         printf("s=%f\n",s);
         area=sqrt(s*(s-a)*(s-b)*(s-c));
         printf("%f\n",area);
         
}

程序是给出三角形的边长,求出面积。
问题如上:使用scanf接收数据时,格式字符串里用空格可以正常输出,而用,分格就出错?
最佳答案
2020-11-3 20:15:36
fishyou 发表于 2020-11-3 20:14
难道是软件的问题?

过着看看你的逗号是中文还是英文
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-3 20:03:05 | 显示全部楼层
区别在于你输入的时候各个变量之间是以,隔开还是以空格隔开
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-3 20:04:00 | 显示全部楼层
scanf("%lf,%lf,%lf",&a,&b,&c); //这个就需要三个变量都以,隔开
和scanf("%lf %lf  %lf",&a,&b,&c); //这个需要三个之间以空格隔开
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-3 20:10:18 | 显示全部楼层
输入时,我有对应的格式来输入,比scanf("%lf,%lf,%lf",&a,&b,&c);我输入3,4,5;
scanf("%lf %lf  %lf",&a,&b,&c);输入的是3 4 5
都有严格按照对应的格式输入。但结果就是不一样。采用,作为分格的这种,变量b,c的值接收到不到,4和的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-3 20:11:26 | 显示全部楼层
fishyou 发表于 2020-11-3 20:10
输入时,我有对应的格式来输入,比scanf("%lf,%lf,%lf",&a,&b,&c);我输入3,4,5;
scanf("%lf %lf  %lf",&a, ...

把你输入的最后那个分号去掉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-3 20:13:06 | 显示全部楼层
C:\Users\ZZC\Desktop\1.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-3 20:13:17 | 显示全部楼层
本帖最后由 昨非 于 2020-11-3 20:14 编辑
fishyou 发表于 2020-11-3 20:10
输入时,我有对应的格式来输入,比scanf("%lf,%lf,%lf",&a,&b,&c);我输入3,4,5;
scanf("%lf %lf  %lf",&a, ...

3,4,5
a=3.000000
b=4.000000
c=5.000000
s=6.000000
6.000000
3 4 5
a=3.000000
b=4.000000
c=5.000000
s=6.000000
6.000000

两种情况的结果一样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-3 20:14:44 | 显示全部楼层
昨非 发表于 2020-11-3 20:13
两种情况的结果一样的

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

使用道具 举报

发表于 2020-11-3 20:15:03 | 显示全部楼层
fishyou 发表于 2020-11-3 20:14
难道是软件的问题?

你多输入了一个分号吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-3 20:15:36 | 显示全部楼层    本楼为最佳答案   
fishyou 发表于 2020-11-3 20:14
难道是软件的问题?

过着看看你的逗号是中文还是英文
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-3 20:17:10 | 显示全部楼层
昨非 发表于 2020-11-3 20:15
过着看看你的逗号是中文还是英文

还真是这个原因,晕
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 17:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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