考慮這個C程序:隱式函數聲明在C89中是否合法?
int main()
{
puts("Hello world!");
return 0;
}
這編譯和運行細而據我所知,是合法的C89。但是,我不是100%確定的。在C99模式下使用clang編譯通知我implicit declaration of function 'puts' is invalid in C99
(這使我認爲C標準必須在C99中更改以使隱式函數聲明非法,這正是我試圖確認的內容)。
隱式函數聲明在C89中合法嗎? (即使這樣做是一個壞主意(除非你在混淆的C代碼挑戰中))
[對類似問題的回答](http://stackoverflow.com/a/437763)可能會對您有所幫助。 – Frxstrem