打印

程序为何在顺序语句中只执行部分语句?

[复制链接]
1981|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
程序在IF语句中,满足条件时,执行语句时,只执行2行或3行就自动跳跑了.比如在图片中
if(ajs80msdw==1)
   {aokbf3=0;
     aokbf=0;程序当ajs80msdw为真时执行到此句后,就跳出了。没有执行ajs80mszdw=0;及后几条在大括号内的语句。这是为何,是因为位变量有数字吗?

错误.png (4.12 KB )

错误.png

错误2.png (2.76 KB )

错误2.png

2011-6-21 8-14-59.png (17.2 KB )

2011-6-21 8-14-59.png

相关帖子

沙发
原野之狼| | 2011-6-30 08:52 | 只看该作者
看看是不是开了优化?

使用特权

评论回复
板凳
ayb_ice| | 2011-6-30 09:05 | 只看该作者
关键是结果是否正确

使用特权

评论回复
地板
liuoulyy|  楼主 | 2011-6-30 22:57 | 只看该作者
原野之狼发表于 2011-6-30 08:52 | 只看该作者 回复 引用 评分 报告 返回版面 TOP  得分:0
2楼: 看看是不是开了优化?
开什么优化啊?

关键是结果是否正确  起码有的位没有被清0啦.

使用特权

评论回复
5
liuoulyy|  楼主 | 2011-6-30 22:59 | 只看该作者
有时我把两句语句放在一行,有时可以跑.

使用特权

评论回复
6
liuoulyy|  楼主 | 2011-7-2 10:11 | 只看该作者
在IF语句中条件满足,程序只能执行图二中的黑色的几句语句。{}中的黑色前的和后的语句没执行。不知是何原因?

2011-7-2 9-18-56错误1.png (13.7 KB )

2011-7-2 9-18-56错误1.png

2011-7-2 10-05-40错误2.png (26.46 KB )

2011-7-2 10-05-40错误2.png

使用特权

评论回复
7
liuoulyy|  楼主 | 2011-7-2 10:17 | 只看该作者
图中的outa,outaled,outaic.是P0的三个口线。我把光标放在outa=1中时,运行到光标处,就出现图一的故障提示。在汇编中,地址01A1,01A4,01A7,为何没有编译出01A5,01A6呢?

使用特权

评论回复
8
liuoulyy|  楼主 | 2011-7-2 10:17 | 只看该作者
图二

2011-7-2 10-05-40错误2.png (26.46 KB )

2011-7-2 10-05-40错误2.png

使用特权

评论回复
9
liuoulyy|  楼主 | 2011-7-2 16:20 | 只看该作者
在KEIL中,也是这样,有的没被编译

2011-7-2 16-15-13错误3.png (20.2 KB )

2011-7-2 16-15-13错误3.png

2011-7-2 16-16-31错误4.png (23.63 KB )

2011-7-2 16-16-31错误4.png

使用特权

评论回复
10
liuoulyy|  楼主 | 2011-7-2 19:15 | 只看该作者
但我把OUTA=1;和OUTIC=1;换一下位置.OUTA=1;OUTALED=1;OUTAIC=1;都能运行.难道根位置有关?

2011-7-2 16-54-24错误5.png (19.21 KB )

2011-7-2 16-54-24错误5.png

2011-7-2 18-09-56错误6.png (20.03 KB )

2011-7-2 18-09-56错误6.png

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

134

主题

472

帖子

1

粉丝