C语言问题:关于浮点数,为什么两个值加起来不对。

2025-03-23 07:50:20
推荐回答(3个)
回答1:

很难明白你明明定义的是double型,而输出的又是int型,当然不对啦.
这样结果才对:
#include
void pm(double a,double b,double *pa,double *pb)
{
*pa=a+b;
*pb=a-b;
}
main()
{
double a,b;
a=5;b=2;
printf("%f %f\n",a,b);
pm(a,b,&a,&b);
printf("%f %f",a,b);
}

回答2:

%d输出是整型 %f是float才是浮点型

回答3:

double和int的存储方式不同,用不对应的类型读取时会产生错误,看一下有关类型的存储方式就明白了