请教高手这一块关于if语句的更多问题

[复制链接]
1272|13
 楼主| dengdc 发表于 2015-2-8 21:10 | 显示全部楼层 |阅读模式
看到一个例程里面的关于if语句的,

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

按照我知道的常理,如if(wdNodeTmr) wdNodeTmr--;是不是等同于
if(wdNodeTmr>0) wdNodeTmr--还是其他的,请教高手这一块关于if语句的更多问题,大侠们看到后,给类似说明例程的越详细越好啊,谢谢!
yszong 发表于 2015-2-8 21:10 | 显示全部楼层
if(),括号里其实是只有1或0的,即是真或假!对一个不为0的变量,都是真!如果变量时负数也是真!我是这样理解的!
huangchui 发表于 2015-2-8 21:11 | 显示全部楼层
if()只有0/1的区别。凡是不为0的,即真变量都是能执行的。
jiajs 发表于 2015-2-8 21:12 | 显示全部楼层
if可以单独使用,比如if(a<b) a++;if(a>b)b++;但是涉及到多个条件时,else 可以配合if使用,比如if(a<b)a++;else b++;   说穿了   if是一个条件判断语句   如果为真执行一个动作   为假执行另一个动作   就这么简答
zhenykun 发表于 2015-2-8 21:13 | 显示全部楼层
相当于定义一个变量,while(--),用法不同,看看仿真时汇编怎么说的,用了什么指令,哪个效率高吧
wyjie 发表于 2015-2-8 21:14 | 显示全部楼层
IF语句的条件只有True or False,即1或者0,很多人就会迷惑在这里,其实这里的条件判断的结果是指非零就是1。条件真就执行后面的IF语句,否则,就跳过IF语句。
liliang9554 发表于 2015-2-8 21:16 | 显示全部楼层
如果一开始wdNodeTmr 大于0。则一直减为0.之后退出。。
如果一开始wdNodeTmr 小于0。则不执行自减的过程,直接退出。。
 楼主| dengdc 发表于 2015-2-8 21:16 | 显示全部楼层
谢谢各位啊,我结贴了,欢饮大家继续讨论啊
smilingangel 发表于 2015-2-9 22:44 | 显示全部楼层
楼上各位的讨论意见的我参考了啊。。
firstblood 发表于 2015-2-11 23:02 | 显示全部楼层
if语句在程序控制中用的是非常多的。。这个是需要设定好条件的。
angerbird 发表于 2015-2-26 21:33 | 显示全部楼层
楼上有几位说的不错的,就是那个意思的啦。
598330983 发表于 2015-2-27 16:56 | 显示全部楼层
你这个是顺序并列语句。
598330983 发表于 2015-2-27 17:08 | 显示全部楼层
如果不加else,就是并列顺序执行,否则带了else,那才叫分支
cowboy2014 发表于 2015-2-28 07:48 | 显示全部楼层
if里面只能判断真假,不为0的数都为真
您需要登录后才可以回帖 登录 | 注册

本版积分规则

892

主题

13885

帖子

7

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