用迭代法求方程 x=cosx的根,要求误差小于1e-6。该怎么解决

用迭代法求方程 xcosx的根,要求误差小于1e-6。用迭代法求方程 xcosx的根,要求误差小于1e-6。我编的程序:#i

用迭代法求方程 x=cosx的根,要求误差小于1e-6。
用迭代法求方程 x=cosx的根,要求误差小于1e-6。我编的程序:

#include<stdio.h>

#include<math.h>
main()
{
double x1,x2;
x1=0.0;
x2=cos(x1);
while(fabs(x2-x1>1e-6))
{
x1=x2;
x2=cos(x1);
}
printf("x=%f\n",x2);
}
得出的结果是0.540302而正确的结果为0.739086。我错在什么地方呢?
那位能指点一下

[解决办法]
while(fabs(x2-x1>1e-6)) 

===>

while(fabs(x2-x1)>1e-6))