「return 0」と「return 1」
関数の終了とともに値を返すことのできるreturn文
if文やwhile文の条件式では非ゼロが真で、ゼロが偽なのに
なぜreturn文では1が異常終了で、0が正常終了なのか?と思ったのでメモ
こちらの質問に回答がありますね
▼C言語のtrueとfalseについて
https://teratail.com/questions/48765
一部だけ抜粋
例えばWindows APIの戻り値の0は概ね成功を示します。一般に成功は1つですが、失敗は様々な原因があるのでエラー・コードを複数割り当てたいという要求から来る仕様と思います。(もちろん例外はあります。)
同様にmain()関数の戻り値はOSへ返却されます。成功は1つでエラーを複数返却できるようにしたいということです。
なるほど~