No.1
- 回答日時:
古い人はわざわざ括弧をつけたがりますね。
K&Rの第1版では括弧が付いていたからみたいです。
昔の処理系は括弧をつけないといけなかったんでしょうかね?
括弧をつけてタイプミスするとそんな関数無いよエラーになるので私は付けません。
参考URL:http://kilin.u-shizuoka-ken.ac.jp/lecture/prog1/ …
arrowrootさん、解答有り難う御座います。
>括弧をつけてタイプミスするとそんな関数無いよエラーになるので私は付けません。
うろ覚えですが昔、「括弧をつけてタイプミスするとそんな関数無いよエラーになるので括弧を付ける」というのを
どっかで見たような気がします。たかが、returnの
タイプミス検出のために括弧を付けるのは本当?
と思ったのが今回の質問の裏の事情でもあります。
>昔の処理系は括弧をつけないといけなかったんでしょうかね?
これは本当でしょうか。識者の解答を待ちたいと思います。
No.2
- 回答日時:
括弧をつけるのはあいかわらず謎ですが
return (0) をタイプミスすると
コンパイルは通ってしまいます。
警告くらいは出ますが。
で、リンクの段階になるまでミスが発覚しない。
括弧を付けないとコンパイルの段階でエラーになります。
よって付けない方がまし。
参考URL:http://www.st.rim.or.jp/~phinloda/cqa/cqa6.html# …
No.3
- 回答日時:
別に意味無いんじゃないですか?でも,付ける派の自己分析を少し.
私は昔は付けなくていいことを知らなくて付けてました.知ってからはしばらく付けなかったんですが,また付けるようになりました.
というわけで,理由というか原因はいくつかあると思います.
1.付けなくていいことを知らない
2.昔知らなかったときの癖で付けている
しばらく付けなかったときのことを思い出してみると,付けないとなんか気持ち悪いんですよね.過去の私を含め勘違いする人がいるくらいに,return文てすごく呼出しに似てるじゃないですか.だから書き方が統一されてないと落ち着かない.美しくないと感じる.
3.呼出しとの統一感
見やすい/見にくいも主観に過ぎないですが,括弧が無いとワードと値の境界が分かりにくく感じる.特に戻り値が複雑な式になった場合.
4.区切りとして括弧を入れている
あと,余分な括弧を入れるのに抵抗があるか無いか,という個人的特性が下地としてあるんじゃないでしょうか.出来るだけシンプルに書きたい人もいるでしょうし,入れていい括弧なら好きなように入れればいいじゃないか,という人もいるでしょう.私は後者で冗長な括弧をよく使います.*p++を*(p++)と書いたり,(で長い式をインデントさせまくったり.
要は,気持ちの問題ではないかと.
ああ,あと,昔覚えた言語の癖,という仮説も考えたんですが,私がかじった言語にはreturnに()が必要な言語はありませんでした.
No.4ベストアンサー
- 回答日時:
つけちゃう派です。
つけなきゃだめ!とは思ってませんけど、つい指がreturn (と連続でタイプしてしまいます。
20年くらい前のことなので曖昧な記憶ですが、Ritchie-Cではreturn に()が必要だったと思います。
enumキーワードが無くてentryキーワードのあったバージョンです。
UNIX Version 6か7の標準コンパイラだったような…
ANSI-CはRitchie-Cではなく、Portable C Compiler(Jhonson-C)の流れなので、文法がかなり変わってます。
K&R第1版は初期のJhonson-Cを元にしているので、Rithcie-Cの癖が抜けてないのでしょう。
で、私なりのこじつけ。
returnって「式を取る制御キーワード」ですね。
ifやwhile、switchと同族です。
ifやwhileの式は()で括るのに、returnだけ特例扱いするのは気持ちが悪い。
caseも制御キーワードですが、caseが取るのは式ではなく値であり、ラベルとしての要素が強いのでgotoラベルと同じように()で括らない。
別にこのこじつけで「絶対に()をつけよう!」と主張しているのではなく、()をつけることで統一されたソースに対してお客さんから「何で()つけてるの?」と質問されたときの対応用です。
テスト済みのソースを修正したくないので…
基本的に統一されていればどっちでもオッケーでは?と思ってます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 参考書・因数分解の回答で 共通因数を括る時 「括弧の前」に括る場合と 「括弧の後」に括る場合と別れま 1 2023/01/31 13:52
- Excel(エクセル) エクセルの数式で添付写真のものを入力していてわからないのですが、こちらの通り[]括弧も入れて入力しま 4 2023/02/05 18:33
- 数学 因数分解 4 2022/04/18 22:32
- 数学 数学(因数分解) なぜ①と②は括った共通因数を 括弧の後ろに置かないんでしょうか? ⑤は後ろに置いて 3 2023/01/28 12:01
- Word(ワード) Word文書で1,2,3...になっている脚注を、一括で(1),(2),...といった括弧つきに変更 2 2023/03/03 21:27
- 数学 数学的帰納法 中括弧の前の・(掛ける)は省略してもOKですよね? 独特の質問で申し訳ございません 1 2023/04/11 17:53
- その他(コンピューター・テクノロジー) AND検索詳しい方お願いします 3 2023/08/12 19:35
- 英語 括弧内に at は必要ないのですか? 2 2022/05/14 21:47
- 英語 After her accident, Lily went ()being stuck in the 2 2022/05/11 01:57
- 数学 数学について (1+2)−5 分配法則と、括弧の中から計算するとでは、答えが違いますがどういうことで 2 2023/01/13 19:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アプリケーションのDLLファイル...
-
<unistd.h>をVisualStudioでつ...
-
ビープ音が鳴りません・・・
-
リムーバブルディスクをPCへ挿...
-
実行後にコンパイルに失敗しま...
-
math.hに含まれる関数が使えない
-
C言語をコンパイルするとコンピ...
-
#If True Then の # って何??
-
Linux(g++)とAIX(XL C++)の挙動...
-
YaccとLex
-
「インクルードファイル 'pthre...
-
VB ネイティブコンパイルについて
-
すべてのリビルド: 0 正常、 0 ...
-
gcc コンパイル killed
-
PIC アセンブリのコンパイルエ...
-
strcpyが古い形式として宣言さ...
-
'hcw'がみつかりません
-
メモリへの負荷
-
Makefileでのコンパイル方法
-
パソコンソフトを作るには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
C言語をコンパイルするとコンピ...
-
実行後にコンパイルに失敗しま...
-
math.hに含まれる関数が使えない
-
ビープ音が鳴りません・・・
-
c言語です コンパイルした時に...
-
<math.h>ヘッダを入力している...
-
C#で char型とstring型の比較で...
-
共有ライブラリの内容確認について
-
すべてのリビルド: 0 正常、 0 ...
-
[COBOL] ソースの復帰
-
64ビットのlinuxで32ビットメモ...
-
VS2010環境で2点ほど質問
-
gcc バージョン違いによるコン...
-
ヘッダーファイル『windows.h』...
-
C言語で作ったらWindowsでもMac...
-
自作DLLの中身を暗号化
-
MVSマシンで0C7でABENDしたので...
-
Verilog_HDLでのdefineとifdef
おすすめ情報