很难明白你明明定义的是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);
}
%d输出是整型 %f是float才是浮点型
double和int的存储方式不同,用不对应的类型读取时会产生错误,看一下有关类型的存储方式就明白了