これの戻り値はどうなるでしょうか?
調べてみましょう。
まずは『苦しんで覚えるC言語』の標準ライブラリ関数一覧 (WebArchive)を見てみましょう。
次にC言語関数辞典 - puts (WebArchive)を見てみましょう。[ puts ]
関数型 : int puts(const char *s);
引数 : 文字列
戻り値 : 成功した場合は0、失敗したときは0以外。
機能 : 標準出力(ディスプレイ)に1行書き込む。改行されます。
あれあれ?成功時の値が0か正かで完全に対立していますね。はたしてどっちが正しいのでしょうか?戻り値
書き込み成功時: 正の値
書き込み失敗時: EOF
N1256 (WebArchive)を見てみましょう。7.19.7.10 The puts functionに書かれています。
なんと、成功時は非負の値、失敗時はEOFを返すと書かれています。どちらも間違いでした。Returns
3 The puts function returns EOF if a write error occurs; otherwise it returns a nonnegative
value.