程序 求救

来源:百度知道 编辑:UC知道 时间:2024/05/04 05:13:37
#include<stdio.h>
#include<math.h>
void main()
{
double Sqrt(double);
int AE(int,double);
int a;
scanf("%d",&a);
printf("%f\n",Sqrt(a));
}

double Sqrt(double x)
{
double g;
if(x==0) return(0);
g=x;
while(!AE(x,g*g))
{
g=(g+x/g)/2;
}
return(g);
}

int AE(int x,double y)
{
if(fabs(x-y)<=1e-6) return(1);
else return(0);
}

好象是函数AE没有函数原型,怎么会呢,有的

将main里面的函数声明移出main函数外面,如:
#include<stdio.h>
#include<math.h>
double Sqrt(double x);
int AE(int x,double y);
void main()
……
原因是你在主函数里面作函数声明,那么它的作用域就在主函数里面起作用,所以在Sqrt里面调用AE时就出错了,应该把函数声明为全局的,这样就能解决了