• 4
    回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

if语句不成立为啥还可以执行?

新的一年,新的开始,今天在调试程序时发现一个问题,keil硬件仿真时,if语句不成立为啥还可以执行

如图所示

但是程序也可以正常运行,后来想到是不是keil优化的问题,发现是三级优化,

说明变量被优化了,

解决方法,把优化等级设置为0,或者变量前面__IO,防止被优化

全部回复(4)
正序查看
倒序查看
ruohan
LV.9
2
2022-02-08 07:57

不成立是要执行else里面的内容,

 

0
回复
#回复内容已被删除#
3
2022-02-11 11:36

我也遇到同类问题,特别是内存紧张时,是一个很隐蔽的问题

0
回复
2022-03-05 11:14
@dy-prlzTnBW
我也遇到同类问题,特别是内存紧张时,是一个很隐蔽的问题

碰到这个问题怎么解决了

0
回复