包含不同的标头时,C实现是否可以隐式包含标准标头?

Joh*_*itb 6 c header c99

在阅读时这是正确的C声明吗?如果是这样,为什么它不起作用?我在考虑

#include <stdio.h>

int main(void) {
  int bool = 0;
  return bool == 0;
}
Run Code Online (Sandbox Code Playgroud)

这个程序严格符合吗?换句话说,是stdio.h允许包括stdbool.h还是禁止这样做?这是由规范指定的吗?

Bo *_*son 5

C标准标头不能包含其他标头.这与C++不同,它是明确允许的.

C99标准,第7.1.3节

每个标头声明或定义其相关子条款中列出的所有标识符[...]不保留其他标识符.