訂正
stdio.hをインクルード、グローバル変数など
mainの上部あるものはmainが呼ばれた後、コンパイルするんですか?
そうしたらプロトタイプ宣言をしていないユーザー関数みたいな
状態になるんじゃないでしょうか?