スレを勃てるまでもないC/C++の質問はここで 25 [隔離病棟]©2ch.net (466レス)
前次1-
抽出解除 レス栞

422
(1): デフォルトの名無しさん [sage] 2024/06/10(月) 19:27:15.16 ID:hd/oL/6W(1) AAS
MISRA-C 違反だろ

論理演算子の両側は、実質的なbool 値しか書けない。
整数などはダメ!

演算順序が紛らわしいものは、カッコでくくるとか

if 整数
もダメ!

if b = 2
もダメ!
b == 2 の間違いなのか紛らわしい
423: デフォルトの名無しさん [] 2024/06/11(火) 00:37:22.43 ID:OSVD3Fpv(1) AAS
>>422
MISRA-Cなんてのがあるんですね、初めて知りました
ちゃんとルールに規定されていますね

(5) ルール12.4 論理演算子「&&」・「||」の右側オペランド
【ルール】

論理演算子&&又は||の右側のオペランドには、副作用があってはならない。

【解説】

&&演算子、||演算子では、第1項目で結果が決まってしまうと、それ以降の評価を行いません。
そのため、第2項目以降に、副作用(値の変更など)が行われる処理を記述してしまうと、処理される場合とされない場合があります。
誤解を与える可能性があるため、第2項移行に副作用のある処理を記述することを禁止しています。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.026s*