#include
double Y(double x,int n)
{
if(n == 0)
return 0;
else
return (square(x + Y(x,n-1)));
}
int main()
{
double a;int b;float result;
printf("Please input x and n:");
scanf("%lf,%d",&a,&b);
result=Y(a,b);
printf("Result=%.2f\n",result);
return 0;
}
float result;
->
double result;
double赋值给float会丢失精度
应该是double和float不配对,或者 你可以把出错信息贴出来看看
square 改成sqart float改成double