标题:为什么把float换成double,就不行了。scanf不进去
只看楼主
JerryChen
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-8-14
 问题点数:0 回复次数:5 
为什么把float换成double,就不行了。scanf不进去

#include<stdio.h>
#include<math.h>
#include<ctype.h>
main()
{int id;
float dd,di;
printf("\nplease input dN:\n");
scanf("%f",&dd);
id=dd;
di=id;
printf("%.1f\n",di);
printf("%d,%.3f",id,dd);
}
把实数化成比其小的最大整数,输出。此程序为什么把float换成double,就不行了。scanf不进去。

搜索更多相关主题的帖子: float double scanf 
2006-10-05 14:25
Dee
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-9-4
得分:0 

如果把float换成double的话,试下把 %f 换成 %lf 看下~!


我是⑤个珥姛ゞ的菜鸟,但我相信总有一天我会成为⑤个珥姛ゞ的老鸟~! C爱好者加我QQ:179233339
2006-10-05 14:28
liverpol
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-9-21
得分:0 
以下是引用Dee在2006-10-5 14:28:50的发言:

如果把float换成double的话,试下把 %f 换成 %lf 看下~!

好像不行啊 !结果是0


http://hi.baidu.com/peculiar
2006-10-05 17:16
zhouweike
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-9-23
得分:0 
兄弟弄个#include<math.h>和#include<ctype.h>似乎也没有用到
着是我改的程序
#include<stdio.h>
void main()
{int id;
double dd,di;
printf("\nplease input dN:\n");
scanf("%lf",&dd);
id=(int)dd;
di=(double)id;
printf("%.1lf\n",di);
printf("%d,%.3lf",id,dd);
}


2006-10-07 15:43
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
#include<stdio.h>
#include<math.h>
#include<ctype.h>
main()
{
int id;
double dd,di;
printf("\nplease input dN:\n");
scanf("%lf",&dd);
id=dd;
di=id;
printf("%.1f\n",di);
printf("%d,%.3lf",id,dd);
getch();
}

倚天照海花无数,流水高山心自知。
2006-10-07 16:40
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
得分:0 
printf中 的%f包括了double.所以在printf中不用%lf


在有些编译器中 %lf是 long double

当然..这么用也没有错误

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-10-07 16:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-94333-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.104998 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved