e14.c

条件文中に定数値有り!
/*###10 [cc] 警告: BBB:e14::条件文中に定数値有り:例『変数 && 1 == 1』
                            ->『(変数 & 1) == 1』%%%*/
/*	s/constant in conditional context: op "&&"/ */

/* 修正前 */
if(c && 2 == 2)

/* 修正例 */ if((c & 2) == 2)

解説 結合力の問題です。。 詳細な説明は、プログラミング言語C 第2版 ANSI規格準拠 カーニハン リッチー著/石田晴久訳』 「2.12 優先度と評価順序」Page65 を参照して下さい。 その結果、コンパイラは 『if(c && (2 == 2))』と解釈します。 (2 == 2)は真で1となり 『if(c && 1)』と同意義になります。 &と書く所を&&と書いた事が考えられます。 if(c && 2 == 2) -> if((c & 2) == 2)