| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 443 人关注过本帖
标题:求教个关于 float 数据类型的问题。
只看楼主 加入收藏
mengt2012
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2014-8-8
收藏
 问题点数:0 回复次数:5 
求教个关于 float 数据类型的问题。
//ceshi.c -- 测试float的有效数字。
#include <stdio.h>
int main(void)
{
    float a = 0.0;

    scanf("%lf", &a);
    printf("%f", a);

    return 0;
}

这是我的代码,请问哪里出错了?我试着输入一些比较小的小数2.3之类的,他输出给我一个很奇怪的数字。

而把float换成double就不会。这是什么原因呢?
搜索更多相关主题的帖子: include double return 
2014-08-08 15:34
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
scanf 中 %lf 对应的是 double 类型。(%f对应float,%Lf对应long double)
printf 中 %f 对应 float或double 类型,%Lf对应long double
2014-08-08 15:48
mengt2012
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2014-8-8
收藏
得分:0 
回复 2 楼 rjsp
原来如此。

非常感谢
2014-08-08 16:00
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
#include <stdio.h>
void main()
{
    float a = 0.0;

    scanf("%f", &a);
    printf("%f\n", a);

    return 0;
}

3
3.000000
Press any key to continue

5
5.000000
Press any key to continue
2014-08-08 16:04
mengt2012
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2014-8-8
收藏
得分:0 
回复 4 楼 宇宙规律
我明白了,谢谢您。
2014-08-08 16:10
DavidCheung
Rank: 2
等 级:论坛游民
威 望:1
帖 子:14
专家分:35
注 册:2014-8-8
收藏
得分:0 
在我机器上sizeof(double)和sizeof(long double)都是8
2014-08-08 16:15
快速回复:求教个关于 float 数据类型的问题。
数据加载中...
 
   



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

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