写函数时用double型正确用float型错误,同是小数我很郁闷!
程序代码:#include<stdio.h>
#define PI 3.141592
float circumference(double n)// 这段代码是正确的
但如果把float circumference(double n)
换成float circumference(float n)输出就出错了!
我调试的的时候n的值带不过来,并不是float x的
值3.2,而是0.
{
return(2*PI*n);
}
float area(double n)//
{
return(PI*n*n);
}
float comp(float x,float(*q)())
{
double result;
result=(*q)(x);
return(result);
}
void main()
{
float r=3.2,z,y;
z=comp(r,circumference);
y=comp(r,area);
printf("circumference=%.3f\n",z);
printf("area=%.3f\n",y);
}



