- ベストアンサー
if文の中にfor文なのか、for文の中にif文なのか
for文の中に分岐を作って計算するのと、if文を先に書いてからfor文にするのとではどちらが一般的ですか? for ( i = 0; i < n; i++) { if ( a > b ) { y = i; } else { y = i * 2; } printf( "%d", y ); } とするか、 if ( a > b ) { for ( i = 0; i < n; i++) { y = i; } } else { for ( i = 0; i < n; i++) { y = i * 2; } } printf( "%d", y ); とするかという事です。 ちなみにプログラムは適当ですのでちょっとしたミスはご勘弁ください。 個人的には後者の方が分岐が少ない分負担は減ると思うのですが、前者の方がすっきりとしているのでこちらを使いたいのです。 もちろん、微々たる差なので好きな方を使えという意見もあると思いますが、皆さんはどちらを使いますか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (5)
- piyo2000
- ベストアンサー率49% (144/293)
回答No.6
- aris-wiz
- ベストアンサー率38% (96/252)
回答No.5
- nak777r
- ベストアンサー率36% (49/136)
回答No.4
- 麻野 なぎ(@AsanoNagi)
- ベストアンサー率45% (763/1670)
回答No.3
- suzubuta
- ベストアンサー率0% (0/1)
回答No.1
お礼
わかりやすい解説ありがとうございます。 最後のプログラムなんですが >int scale = (a > b) ? 1 : 2; これはaがbより大きければscaleに1を代入して、そうでなければ2を代入する という意味でよろしいですか? 初めて見る記述だったので検索してみたのですが見つからなくて…。