-4

C言語で書かれたコードをコンパイルすると、次の警告が表示され、正常にコンパイルできます

警告:関数の暗黙の宣言

この警告を無視するとどうなりますか?

4

1 に答える 1

1

この警告を無視するとどうなりますか?

それは状況次第です。暗黙的に宣言された関数が、リンクするライブラリのいずれにも定義されていない場合、単純にリンク エラーが発生します。

それが定義されていて、その定義が暗黙の宣言と一致する場合 (つまり、戻り値の型がintで、同じ数の引数を取り (varargs は許可されません)、すべてのパラメーターの型がintである)、プログラムは意図したとおりに実行されます。ただし、関数を暗黙的に宣言するのは依然として非常に悪いスタイルです。

異なる署名で定義されている場合、未定義の動作が発生します。これにより、誤った結果、メモリの破損、および/またはクラッシュが発生する可能性があります。

于 2013-09-14T12:26:43.557 に答える