C++ for循环后面的if语句是什么意思?

C++ for循环后面的if语句是什么意思?,c++,graph-algorithm,C++,Graph Algorithm,这是Kattis的编程挑战之一,我已经解决了,所以我想看看其他人是如何解决的。所以我遇到了这段代码,但我很难理解这两行代码: for(i=0;i<N;i++) if(inTree[i]) for(i=0;ifor循环语句对主体采用单个语句。最常见的是,该语句是一个用大括号括起来的块,即 for (...) { // multiple statements } 但是,可以使用任何语句,包括if: for (...) if (...) { multipl

这是Kattis的编程挑战之一,我已经解决了,所以我想看看其他人是如何解决的。所以我遇到了这段代码,但我很难理解这两行代码:

for(i=0;i<N;i++) if(inTree[i])  

for(i=0;i
for
循环语句对主体采用单个语句。最常见的是,该语句是一个用大括号括起来的块,即

for (...) {
    // multiple statements
}
但是,可以使用任何语句,包括
if

for (...)
    if (...) {
        multiple statements
    }
请注意,
if
周围没有大括号,因为
for
循环没有控制其他语句

由于空格不重要,因此可以合并上面的前两行:

for (...) if (...) {
    multiple statements
}

这是程序中的结构。

循环的每次迭代都会执行
if
。比较。请注意,这种混淆是通常不建议在控制结构中省略花括号的原因之一,就像在一行上组合多个控制结构一样。通常情况下如果代码出现错误,则括号会损害可读性,并因此增加出现错误的机会。因此,大括号与
if
匹配,而不是
for循环
?@Acuriousone正确。
for (...)
    if (...) {
        multiple statements
    }
for (...) if (...) {
    multiple statements
}