我正在阅读的书(C How to Program with an into to C++ Global Edition,Deitel&Dietel,2016)提供了以下代码:请注意,这本书是在练习部分中呈现代码的方式,故意没有大括号和缩进。我会假设教你使用正确的缩进使阅读代码更容易。
int main(){
int x = 9, y = 11;
if (x < 10)
if (y > 10)
puts("*****");
else
puts("#####");
puts("$$$$$");
}
输出是
*****
$$$$$
这本书指出编译器总是将一个 else 与前一个 if 关联起来,除非通过放置大括号来告诉它这样做,所以通过那个逻辑,else 与之相关联
if (y > 10)
这是真的,否则不应该执行,给出的输出
*****
并不是
*****
$$$$$
所以我的问题是为什么这条线
$$$$$
在输出中?