省略循环值

时间:2013-03-21 02:00:24

标签: c++

这是我在这里的第一篇文章,也是我第一次使用C ++。我正在查看我从互联网上获得的一些代码,但我对此有疑问。

它有一个for循环,如下所示:

for(cin >> t;t--;)

我理解它在做什么,但我无法理解条件是什么。

根据这种格式,for ( init; condition; increment )t--是条件,但它没有多大意义。我认为t--是增量,但为什么它是第二个参数?

不应该是:for (cin >> t; ;t--);

2 个答案:

答案 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>)