c 中的悬垂问题究竟是什么?

What is exactly dangling-else problem in c?

代码怎么能这样工作? 哪些 if-else 语句相互链接? 那么为什么输出是这样的“$$$$$”?

#include <stdio.h>
int main() {
    int x = 11;
    int y = 9;

    if(x<10)
    if(y>10)
    puts("*****");
    else
    puts("#####");
    puts("$$$$$");
    return 0;
}

节省时间。使用自动格式化程序。

希望 "why is the output like that "$$$$$"?"是不言而喻的。

#include <stdio.h>
int main() {
  int x = 11;
  int y = 9;

  if (x < 10)
    if (y > 10)
      puts("*****");
    else
      puts("#####");
  puts("$$$$$");
  return 0;
}