鱼C论坛

 找回密码
 立即注册
查看: 963|回复: 9

[已解决]关于s1e8课后题中float和double的小问题

[复制链接]
发表于 2020-7-1 23:33:16 | 显示全部楼层 |阅读模式

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

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

x
  1. #include<stdio.h>
  2. #include<math.h>

  3. int main()
  4. {
  5.         float i,j;

  6.         printf("请输入华氏度:");
  7.         scanf("%f",&i);

  8.         j = (i-32)*5/9;
  9.         printf("转换为摄氏度是:%.2f\n",j);

  10.         return 0;
  11. }
复制代码

为什么代码中仅仅是把float换成double输出就不一样了,double不是比float精度更高嘛?
最佳答案
2020-7-1 23:45:04
转换成double时有没有scanf中的f变成lf
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-7-1 23:45:04 | 显示全部楼层    本楼为最佳答案   
转换成double时有没有scanf中的f变成lf
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-1 23:54:37 | 显示全部楼层
顺便再问一个问题
  1. #include<stdio.h>

  2. int main()
  3. {
  4.         char a[256];
  5.         float b,c;

  6.         printf("请输入您的姓名:");
  7.         scanf("%s",a);

  8.         printf("请输入您的身高(cm):");
  9.         scanf("%f",&b);

  10.         printf("请输入您的体重(kg):");
  11.         sacnf("%f",&c);
  12.         printf("==============正在为您转换==============\n");

  13.         b = b/2.54;
  14.         b = c/0.45359237;
  15.         printf("%s的身高是%.2f(in),体重是%.2f(lb)\n",a,b,c);



  16.         return 0;
  17. }
复制代码

输出结果为
  1. /tmp/ccRnKw1i.o: In function `main':
  2. wrok2.c:(.text+0x6d): undefined reference to `sacnf'
  3. collect2: ld returned 1 exit status
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-2 00:02:19 | 显示全部楼层
盼望流星 发表于 2020-7-1 23:54
顺便再问一个问题

输出结果为

第十五行scanf打成了sacnf......
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-2 02:45:39 | 显示全部楼层
  1. // 将输入的
  2. %f
  3. // 改成
  4. %lf
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-2 08:25:09 | 显示全部楼层
盼望流星 发表于 2020-7-1 23:54
顺便再问一个问题

输出结果为

提示上面说了,并用引号标出了sacnf。要不是这个提,我还没发现。另外,你的代码有误。b用体重除以了2.54,然后又给它赋值为c/0.45359237。那么b=b/2.54就没有任何意义了。
我猜你是想C=C/0.45359237吧?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-2 20:10:27 | 显示全部楼层
lll_jh888 发表于 2020-7-1 23:45
转换成double时有没有scanf中的f变成lf

原来如此
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-2 20:12:38 | 显示全部楼层
lll_jh888 发表于 2020-7-2 00:02
第十五行scanf打成了sacnf......

啊啊啊啊。。。晕了我
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-2 20:13:12 | 显示全部楼层
405794672 发表于 2020-7-2 08:25
提示上面说了,并用引号标出了sacnf。要不是这个提,我还没发现。另外,你的代码有误。b用体重除以了2.54 ...

发现了。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-2 20:15:07 | 显示全部楼层

为什么a【256】后面得写个256啊,不写不行吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-5 14:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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