4

関数でexit(1)コマンドを使用する必要があります。それが使用されている関数の戻りデータ型と関係がありますか?

4

1 に答える 1

4

いいえ。exit関数は戻りませんが、呼び出し元のプロセスを終了します。C コンパイラはそれを直感的に理解することができず、他のvoid戻り関数と同様に扱います。

これは、 while exitwill end your function をCコンパイラがそのように認識しないことを意味します。したがって、有効な戻り値が必要な場合は、警告/エラーが吐き出されます (十分に高いエラーレベルが有効になっています)。しかし、これは回避するのに十分簡単です

int myFunc() {
  ...
  exit(exitCode);
  return 42;  // Never hit but keeps C compiler happy
}
于 2011-10-20T18:40:42.730 に答える