if else语句中的缩进是否与代码的执行有任何关系,或者它只是为清洁代码做些什么?
Andrew Koening编写的Accelerated C++一书中的例子:
while(c != cols){
if(r == pad + 1 && c == pad + 1){
cout << greet;
c+=greet.size();
} else {
if(r == 0 || r == rows - 1 || c == 0 || c == cols - 1)
cout << "*";
else
cout << " ";
++c;
}
}
Run Code Online (Sandbox Code Playgroud)
无论是否r = 0,都执行c的前缀增量,但我不明白为什么.
如果if语句变为true,则打印星号.如果没有打印空格并且c递增.这就是我如何阅读它,但无论r或c的值是什么,c都会增加.
这就是它在书中所说的,但我找不到任何解释:
注意++ c的不同缩进; 引起注意的是,无论我们是否在边境,它都会被执行.