类似说明例程

[复制链接]
931|11
 楼主| dengdc 发表于 2017-6-29 22:53 | 显示全部楼层 |阅读模式
看到一个例程里面的关于if语句的,

if(wdANTtimer) wdANTtimer--;
if(ucLEDSineTmr) ucLEDSineTmr--;
if(ucSensrTimer) ucSensrTimer--;
if(wdNodeTmr) wdNodeTmr--;

按照我知道的常理,如if(wdNodeTmr) wdNodeTmr--;是不是等同于
if(wdNodeTmr>0) wdNodeTmr--还是其他的,请教高手这一块关于if语句的更多问题,大侠们看到后,给类似说明例程的越详细越好啊,谢谢!
yszong 发表于 2017-6-29 22:55 | 显示全部楼层
if(),括号里其实是只有1或0的,即是真或假!对一个不为0的变量,都是真!如果变量时负数也是真!我是这样理解的!
huangchui 发表于 2017-6-29 22:56 | 显示全部楼层
if()只有0/1的区别。凡是不为0的,即真变量都是能执行的。
jiajs 发表于 2017-6-29 22:58 | 显示全部楼层
if可以单独使用,比如if(a<b) a++;if(a>b)b++;但是涉及到多个条件时,else 可以配合if使用,比如if(a<b)a++;else b++;   说穿了   if是一个条件判断语句   如果为真执行一个动作   为假执行另一个动作   就这么简答
jiahy 发表于 2017-6-29 23:00 | 显示全部楼层

相当于定义一个变量,while(--),用法不同,看看仿真时汇编怎么说的,用了什么指令,哪个效率高吧
wyjie 发表于 2017-6-29 23:01 | 显示全部楼层

IF语句的条件只有True or False,即1或者0,很多人就会迷惑在这里,其实这里的条件判断的结果是指非零就是1。条件真就执行后面的IF语句,否则,就跳过IF语句。
liliang9554 发表于 2017-6-29 23:02 | 显示全部楼层

如果一开始wdNodeTmr 大于0。则一直减为0.之后退出。。
如果一开始wdNodeTmr 小于0。则不执行自减的过程,直接退出。。
spark周 发表于 2017-6-29 23:04 | 显示全部楼层
if语句在程序控制中用的是非常多的。。这个是需要设定好条件的。
liliang9554 发表于 2017-6-29 23:07 | 显示全部楼层
你这个是顺序并列语句。
zhaoxqi 发表于 2017-6-29 23:09 | 显示全部楼层
如果不加else,就是并列顺序执行,否则带了else,那才叫分支
jiajs 发表于 2017-6-29 23:11 | 显示全部楼层
if里面只能判断真假,不为0的数都为真
 楼主| dengdc 发表于 2017-6-29 23:13 | 显示全部楼层
唉,还是没有什么结果,算了,先结贴吧,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

892

主题

13885

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部