写函数时用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); }