e44.c

結合力は(4)?
/*###9 [cc] 警告: BBB:e44: α<<β-γはα<<(β-γ)と
            (α<<β)-γのどちら?%%%*/

/* 修正前 */
printf("%x ¥n", 1 <<  7 + 1 ) ;

/* 修正例1(上記式と同じ結果) */ printf("%x ¥n", 1 << (7 + 1)) ;
/* 修正例2(<<を優先する場合) */ printf("%x ¥n",(1 << 7)+ 1 ) ;

解説 結合力の問題で、修正例1、2どちらを意図しているのか 分かりづらいです。 括弧を付加して修正例のように意図を明確にして下さい */ 詳細な説明は、 プログラミング言語C 第2版 ANSI規格準拠 カーニハン リッチー著/石田晴久訳』 「2.12 優先度と評価順序」Page65 C-FAQ 3.4J C-FAQ 3.4E を参照して下さい。