while ( ) 循环中的“--”运算符

2024-03-14

我正在读K&R书,第63页有一行

while (--lim > 0 && (c=getchar()) != EOF && c != '\n')

其中 lim 是等于 1000 的 int

我的问题是,为什么lim在随后运行 while 循环后不会减少吗? 照我看来,--lim相当于“lim = lim - 1”

=================================================== =================

感谢所有的答案 !


--lim意思是“从值中取一个lim并使用结果”。

另一种选择lim--将是“使用lim然后拿走一个”。

So if lim从 1000 开始,第一次循环执行时它将具有该值999在检查它是否大于 0 之前。如果是lim--那么要检查的值将是1000,但在循环迭代结束时它的值仍为 999。这在循环的开始和结束时很重要。

MSDN 对此有一个页面前缀自增和自减运算符 http://msdn.microsoft.com/en-us/library/6syyw3ba%28v=VS.100%29.aspx

当运算符出现在其操作数之前时,操作数将递增或递减,其新值就是表达式的结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

while ( ) 循环中的“--”运算符 的相关文章

随机推荐