注册 登录
编程论坛 C++教室

一个很奇怪的现象。。。求解

丽娜13 发布于 2014-08-05 16:25, 444 次点击
偶然遇到的问题,我把代码简化了,当输入数据是1.1  2.2  3.3时,输出一串奇怪的数字,并非0,这是怎么回事呀。。。。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    double a,b,c,d;
    cin>>a>>b>>c;
    d=a+b-c;
    cout<<fabs(d)<<endl;
    return 0;
}
5 回复
#2
韶志2014-08-05 17:47
因为c++   里  你输入的a,b,c 并不是很准确的  1.1 , 2.2 , 3.3
只有本站会员才能查看附件,请 登录


[ 本帖最后由 韶志 于 2014-8-5 17:48 编辑 ]
#3
丽娜132014-08-05 19:29
回复 2 楼 韶志
那输入2.2   3.3   5.5结果就会为0,这些小数就能刚刚好相减为0????
#4
stop12042014-08-06 07:48
类型错误.  fabs接收浮点型数据,返回浮点型
#5
stop12042014-08-06 07:54
不等于0的话..加上
cout<<fixed;
#6
丽娜132014-08-06 11:17
回复 5 楼 stop1204
按默认精度输出???就变成了0.000000 还得去后导
1