return
で0を返せば正常終了、0以外なら異常終了と知っていただけで、
その0など戻り値を利用する機会がなかったのですが、やった有用性がわかりました
C言語やり始めのときはmain
の中のreturn
ってどこに返してるのって疑問に
持つので、疑問に思っている人は参考にしてみてください
検証プログラム
0
を返すのと1
を返すプログラムです
ok.c
int main(){return 0;}
ng.c
int main(){return 1;} // 1を返して異常終了
上記のプログラムをターミナル上などでコンパイルして、
./a.out && echo "OK"
と実行してみます
$ gcc ok.c
$ ./a.out && echo "OK"
# 「OK」 と出力
$ gcc ng.c
$ ./a.out && echo "OK"
# なにも出力されない
&&
の意味
&&
は前のプログラムが正常終了したら、次のプログラムを実行するというものなので、
今回の場合./a.out
が正常終了したら、次のecho
をするってことです。
おまけ: 戻り値の値を確認する方法
echo $?
を使うと戻り値が確認できるみたいです
$ gcc ok.c
$ ./a.out
$ echo $?
# 「0」と出力
$ gcc ng.c
$ ./a.out
$ echo $?
# 「1」と出力