次の C プログラムを検討してください。
int main()
{
puts("Hello world!");
return 0;
}
これは正常にコンパイルおよび実行され、私の理解する限り、正当な C89 です。ただし、それについて 100% 確信があるわけではありません。C99 モードで clang を使用してコンパイルすると、そのことがわかりますimplicit declaration of function 'puts' is invalid in C99
(C 標準が C99 で暗黙の関数宣言を違法にするように変更されたに違いないと思います。これを確認しようとしています)。
C89では暗黙の関数宣言は合法ですか? (それを行うのが悪い考えであっても(難読化されたCコードの挑戦でない限り))