Sus*_*yan 0 c++ syntax for-loop if-statement
有人可以解释使用for和if并排的语法吗?
int min_dist = huge;
int v = -1;
for (int i = 0; i < N; ++i) if (!done[i]) {
if (d[i] >= min_dist) continue;
min_dist = d[i];
v = i;
}
Run Code Online (Sandbox Code Playgroud)
它不是并排的.这是一个if
内部for
.a的语法for
是
for(...)
statement
Run Code Online (Sandbox Code Playgroud)
它恰好if
也是一个陈述.所以你的代码等同于:
for(...)
if() {
}
Run Code Online (Sandbox Code Playgroud)
因为编译过程几乎忽略了空格.是否有新线路并不重要.这仍然是一个声明.就像单线一样无关紧要
if (d[i] >= min_dist) continue;
Run Code Online (Sandbox Code Playgroud)
如果我们不省略那些显然至关重要的括号:
for(...) {
if() {
}
}
Run Code Online (Sandbox Code Playgroud)
我们将来不太可能感到困惑.
归档时间: |
|
查看次数: |
109 次 |
最近记录: |