while(fabs(mid*mid-n) > 0.000001);
{if((mid*mid)>n)
up=mid;
else
low=mid;
mid=(up+low)/2;
cout<<mid<<endl;}
return...;
和
while(1)
{ if(fabs(mid*mid-n) > 0.000001)
{if((mid*mid)>n)
up=mid;
else
low=mid;
mid=(up+low)/2;
cout<<mid<<endl;}
return...;
}
这是用二分查找实现sqrt()的部分代码,上面第一段代码居然连while循环都进不去,而改成第二段代码可以成功运行,不解,调试时发现问题出在第一段代码的while()上,连循环体都进不去,我能保证fabs(mid*mid-n)肯定是大于0.00001的
while(fabs(mid*mid-n) > 0.000001);
后面用个;
是要干什么