问题描述
我想知道为什么当i == n-1时,i的值不更新为i = 0,就像我在代码中所写的那样。布尔标志只是在那里检查if语句是否正在渲染(是)。
background-size: contain;
解决方法
您怎么知道它没有做您想要的事情。我运行它并得到了它:
$ ./foo 1个 2 3 4
5 1个 $
最终值(1)为true。所以看起来好像是在对我做。
但是,这是非常糟糕的代码。像这样在循环中混入迭代器变量是一种非常糟糕的做法。那会咬你的。此外,您不会回到0,而是会回到1,因为接下来要做的就是用i ++递增变量。因此,如果您的if语句将i设置为0,并且您的for循环将其变为1。
但是这很奇怪。如果需要多次运行循环,则将其包装在更大的循环中。
其他人对printf发表了评论。我个人不同意。有时候printf是完全有效的。但是,将其用于如此简单,未经格式化的内容的方法实际上并不是其中之一。
我将最后一个printf更改为此:
cout << "Flag (raw): " << flag << ". Which means: " << (flag ? "True" : "False") << endl;
输出是这样
Flag (raw): 1. Which means: True
如您所见-它是1,不是0,所以是真的。