这是我在这里的第一篇文章,也是我第一次使用C ++。我正在查看我从互联网上获得的一些代码,但我对此有疑问。
它有一个for循环,如下所示:
for(cin >> t;t--;)
我理解它在做什么,但我无法理解条件是什么。
根据这种格式,for ( init; condition; increment )
,t--
是条件,但它没有多大意义。我认为t--
是增量,但为什么它是第二个参数?
不应该是:for (cin >> t; ;t--);
?
答案 0 :(得分:2)
--
运算符是“递减和返回”运算符。由于它用作postdecrement,它返回t
然后递减值。
在C ++中,与0不同的是true
而反之亦然,所以基本上它等同于
t == 0
当然,在--t
的情况下情况会有所不同,因为它会先减小值然后再返回它(它会在之前的一次迭代中结束循环)。
答案 1 :(得分:0)
for ( init; condition; increment )
只是推荐使用for循环的方法。循环工作的真正方法是:
for(
<runs once before loop>;
<check before every iteration, loop if true/non-zero>;
<run after every iteration>)