我记得有一次我看到有人写这样的 C++ 代码:
if (something is true)
for (int i = 0; i < max; i++) {
//do something
line 1;
line 2;
line 3;
....
....
}
else
....
它的工作原理与以下代码相同:
if (something is true) { //note the bracket here
for (int i = 0; i < max; i++) {
//do something
line 1;
line 2;
line 3;
....
....
}
}
else
....
我想知道编译器是否将循环块视为嵌套在子句for
中的一行?if
括号内的多行代码是否可以始终视为一行?我不太明白编译器是如何解析和分析这个的。