c语言 else if中的语句中 跳过不运行。

elseif(xz<=0&&yz>0){shun13(xq,yq,r*(-1),0,t);shun24(r*(-1),0,xz,yz,t);}在调试的时候,能运行到shu... else if(xz<=0&&yz>0)
{
shun13(xq,yq,r*(-1),0,t);
shun24(r*(-1),0,xz,yz,t);
}
在调试的时候,能运行到shun13(xq,yq,r*(-1),0,t)这一步,但不去调用shun13这个子函数,接着直接跳过shun24,跳出这个else if。我很奇怪调试的时候,它能正确的进入到这个条件语句里面,可是就是不去运行。这种类型的语句在我的程序里很多地方用到 似乎唯独这里出问题 求解 急死了
展开
 我来答
lylxy1965
2011-08-16 · TA获得超过2413个赞
知道小有建树答主
回答量:436
采纳率:100%
帮助的人:214万
展开全部
据我了解,这可能有两种情况:

1、虽然语句上可能无法设断点,但事实上是因为编译优化时将此句与其它相同或相似部份合并。这种情况可以在你执行到shun13时,在shun24函数体内设个断点,在else if判断体外的下一条可执行语句上也设个断点,看看是否程序执行了shun24。
2、编译器问题。极少,但我遇见过。这就比较麻烦了,处理方法没有一定之规。一般可能要重写一下语句,比如此例中多用个中间变量xx = r*(-1),然后再调用,总之就是改变一下结构或算法,有时需要多试几次。
百度网友b10e936
2011-08-16 · 超过28用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:94.5万
展开全部
看看你的程序···
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
beddy1
2011-08-16 · TA获得超过1988个赞
知道大有可为答主
回答量:2271
采纳率:0%
帮助的人:2182万
展开全部
Rebuild整个项目吧,我常遇到这种问题,Visual studio 的Bug来着,调试与代码不同步,实际上代码是正确执行了的,只是调试显示有点问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
java_afu
2011-08-16 · TA获得超过147个赞
知道答主
回答量:160
采纳率:0%
帮助的人:78.4万
展开全部
设个断点看看啊,你是用gdb调试吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cxj_Jerry
2011-08-16
知道答主
回答量:19
采纳率:0%
帮助的人:5.6万
展开全部
删除以前的编译文件,重新编译下。我也有遇到的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式