C语言n层嵌套平方根的计算 不知道哪里错了,,

#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