1. ホーム
  2. スクリプト・コラム
  3. その他

[解決済み】main関数で "control reaches end of non-void function "という警告が出るのはなぜ?

2022-01-12 09:22:02

質問

C言語のコードは次のとおりです。

int main(void) {}

実行すると、警告が表示されます。

control reaches end of non-void function

解決方法は?

ただ return 0 の中に main() . 関数 main は int を返します ( int main(void) というわけで、最後にreturnを追加する必要があります。

制御が非void関数の末尾に到達した場合

Problem: I received the following warning:

警告 : 制御が非ボイド関数の終わりに達した

解決方法 この警告は、「値がない状態で返す」で説明した警告と似ています。制御が関数の終わりに達し、戻りがない場合、GCCは戻り値なしの戻りと見なします。しかし、これについては、関数は戻り値を必要とします。関数の終わりに、たとえ制御がそこに到達しなくても、適切な戻り値を返す return 文を追加してください。

ソース

解決方法 :

int main(void)
{
    my_strcpy(strB, strA);
    puts(strB);
    return 0;
}