/*B:e5674: このビット演算は 演算順序が分かりにくいです(『a<<b-c』は『a<<(b-c)』となり『(a<<b)-c』とは別です)*/
/* 修正前 */ 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 を参照して下さい。