C语言,某if条件句,条件满足,却不执行,是什么原因

程序大概如下doublea,b,c,d;//a,b,c,d均在程序执行过程中赋值for(k=5,m=0;k>=0;k--){if((a>=b)&&(c<=d)){m++;... 程序大概如下
double a,b,c,d;
//a,b,c,d均在程序执行过程中赋值
for(k=5,m=0;k>=0;k--)
{
if((a>=b)&&(c<=d))
{m++;break;}
else
continue;
}
此段程序中的if条件句在条件满足情况下,“偶尔”却不执行,是什么原因呢!!
double a,b,c,d;
//a,b,c,d均在程序执行过程中赋值

for(n=0;n<N;n++)
{//.....
for(k=5,m=0;k>=0;k--)
{
if((a>=b)&&(c<=d))
{m++;break;}
else
continue;
}
//....
}
该句异常if((a>=b)&&(c<=d)),有时运行正确有时则出现条件句不执行的情况。
问题就是出现了 执行N次,却只有最后一次不执行的情况。
注:a,b,c,d均在N的每次执行过程中,值并不相同。因程序较大未能全部列出。
展开
 我来答
lzhybq
推荐于2018-04-04 · TA获得超过100个赞
知道小有建树答主
回答量:89
采纳率:100%
帮助的人:58.4万
展开全部
是不是由于你的a,b,c,d由于都是double类型的,受存储精度的限制,在你认为可能是满足if语句的条件下其实没有满足条件,因而没有执行
解颖卿是未
2019-11-17 · TA获得超过3.7万个赞
知道小有建树答主
回答量:1.4万
采纳率:29%
帮助的人:768万
展开全部
问题都不全,怎么回答,都不知道你是怎样对a,b,c,d赋值的,而且
for(k=5,m=0;k>=0;k--)
这个循环里根本就没有改变a,b,c,d的值的语句,因此,只要第一次判断
if((a>=b)&&(c<=d))
不成立,那么以后肯定每次都不成立,一直到循环结束,如果你的条件不成立,则肯定一次都不执行,如果你的条件成立,则会执行6次,也就是说最后m的值为6。因此,一次都不执行if语句很正常,不七怪。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黄邦勇帅哥哥
2010-04-23 · TA获得超过3987个赞
知道大有可为答主
回答量:1199
采纳率:100%
帮助的人:484万
展开全部
问题都不全,怎么回答,都不知道你是怎样对a,b,c,d赋值的,而且
for(k=5,m=0;k>=0;k--)
这个循环里根本就没有改变a,b,c,d的值的语句,因此,只要第一次判断
if((a>=b)&&(c<=d))
不成立,那么以后肯定每次都不成立,一直到循环结束,如果你的条件不成立,则肯定一次都不执行,如果你的条件成立,则会执行6次,也就是说最后m的值为6。因此,一次都不执行if语句很正常,不七怪。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_小_苏
2010-04-23 · TA获得超过343个赞
知道小有建树答主
回答量:330
采纳率:100%
帮助的人:212万
展开全部
“偶尔”却不执行,只有一个原因,就是没有满足条件.

请楼主仔细思考.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yxyy3604
2010-04-23 · 超过13用户采纳过TA的回答
知道答主
回答量:166
采纳率:0%
帮助的人:72.1万
展开全部
你运气不好??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式