C语言中,用while()来做条件判断无效?
本文介绍了C语言中,用while()来做条件判断无效?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
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);
{if((mid*mid)>n)
up=mid;
else
low=mid;
mid=(up+low)/2;
cout<<mid<<endl;}
return...;
while(fabs(mid*mid-n) > 0.000001);
后面用个;
是要干什么
这篇关于C语言中,用while()来做条件判断无效?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文