e157.c

ビット演算と算術演算優先順
int     main()  {

        int     value = 0x7f ;	
        /* なんと表示されるでしょう? */
        printf("%x¥n",0x200 + value&0xFF) ;

        return(0) ;
}


解説 0x7fと表示されます。 結合力の問題です。 スペースをいくら入れても、コンパイラには通じません。 (0x200+value)&0xFF とコンパイラは解釈します。