C语言中,用while()来做条件判断无效?

查看:298
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆