for循环条件那一句哪错了啊

#include<stdio.h>
#include<math.h>
int main()
{
int a,i;
float x0,x1;
scanf("%d",&a);
x0=a;
x1=(x0+a/x0)/2.0;
for(fabs(x0-x1)>=pow(10,6)) {
x0=x1;
x1=(x1+a/x1)/2.0;
}
printf("x=%f",x1);
}


#include <stdio.h>
#include <math.h>
int main()
{
    int a, i;
    float x0, x1;
    scanf("%d", &a);
    x0 = a;
    x1 = (x0 + a / x0) / 2.0;
    for (;fabs(x0 - x1) >= pow(10, 6);)
    {
        x0 = x1;
        x1 = (x1 + a / x1) / 2.0;
    }
    printf("x=%f", x1);
}

scanf输入没加&

这个应该用while吧