return 文に括弧を付けない理由について思い出したからメモしてみた

C 言語で良く見かける returnz(0); return 分に括弧は付けちゃいけない。

こんな話を学部 3 回生の頃から先生に言われ続けて、理由も聞かされていましたがその時はしっかりと理解出来ていませんでした。覚えていたのは 括弧を付けるとエラーが出る時に発見するタイミングが遅くなると言う事だけです。
間違っているわけではないのですが詳しく理解していなかったと言うのが正しい見解です。


そんな中である記事を見つけ、読んだところなるほど!! と理解出来たので書き留めておこうかと思います。その記事には次のように書かれていました。

括弧を付けると return を retuan のようにタイプミスした時に関数呼び出しとして解釈されてしまい、コンパイルエラーにならない(リンク時にはエラーになる)ために良くないと主張する人などもいるようです。

return 文に括弧を付ける(た)理由

そして昔は return に括弧をつけていたと言うのを見て、たまに本等に書かれている理由が分かりました。昔の名残で書いている為だったんですね。大学講義の教科書として使った明快 C 言語では括弧がついていた記憶があります。入門書籍にはなるべく最新の作法に準じた書き方をして欲しいかなと言うところが本音ですね。