搜索
查看: 587|回复: 8
打印 上一主题 下一主题

无知新手求教!

[复制链接]
跳转到指定楼层
楼主
发表于 2015-6-18 20:04:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
int main()
{
     float a,b,c;
     a=5.2;
     b=3.1;
     c=a+b;
     printf("%f",c);

     system("pause");
     return 0;
}

但是结果是8.299999
为什么?   应该是8.3啊!

沙发
发表于 2015-6-18 20:29:48 | 只看该作者
float精确的问题吧,用double会好点,我也是新手,以前也碰到这个的
板凳
 楼主| 发表于 2015-6-18 20:43:59 | 只看该作者
哦哦,谢谢啊!我还以为有什么毛病呢
地板
发表于 2015-6-18 21:04:52 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
int main()
{
     float a,b,c;
     a=5.2;
     b=3.1;
     c=a+b;
     printf("%g",c);//不要用%f

     system("pause");
     return 0;
}
5#
发表于 2015-6-18 21:11:09 | 只看该作者
为什么,我的代码没问题,但是一直显示编译失败?
int main()
{
        float a;
    a=3.1415926535897932;
    printf("%.15f",a);
   
        system("pause");
        return 0;
}
6#
发表于 2015-6-18 22:24:50 | 只看该作者
Jason_G1twL 发表于 2015-6-18 21:11
为什么,我的代码没问题,但是一直显示编译失败?
int main()
{

#include<stdio.h>
#include<windows.h>
int main()
{
    double a;
    a=3.1415926535897932;
    printf("%.15f",a);   
    system("pause");
    return 0;
}
7#
发表于 2015-6-19 20:38:25 | 只看该作者
Jason_G1twL 发表于 2015-6-18 21:11
为什么,我的代码没问题,但是一直显示编译失败?
int main()
{

貌似float类型有效数位只有7位最后还得存\0所以只能精确到小数点后六位
8#
发表于 2015-6-22 13:36:35 | 只看该作者
double,输出时用%g会更好的
9#
发表于 2015-6-22 21:48:29 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
int main()
{
     double a,b,c;
     a=5.2;
     b=3.1;
     c=a+b;
     printf("%lf",c);

     system("pause");
     return 0;
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表