回答編集履歴
2
コメントでの指摘を受けて、sizeof の括弧の付けかたについて意味のある付け方をするようにした。
    
        answer	
    CHANGED
    
    | @@ -1,16 +1,16 @@ | |
| 1 1 | 
             
            > (unsigned)(sizeof n+2)
         | 
| 2 2 |  | 
| 3 | 
            -
            優先順位の関係でsizeof(n+2)とはならず、 | 
| 3 | 
            +
            優先順位の関係でsizeof(n+2)とはならず、( sizeof n ) + 2 となります。
         | 
| 4 | 
            -
             | 
| 4 | 
            +
            ( sizeof int ) + 2 で6になります。
         | 
| 5 5 |  | 
| 6 6 | 
             
            > (unsigned)(sizeof (n+2))
         | 
| 7 7 |  | 
| 8 | 
            -
            「n+2」というint値のサイズを求めていて実質sizeof | 
| 8 | 
            +
            「n+2」というint値のサイズを求めていて実質「sizeof int」と同じになり4になります。
         | 
| 9 9 |  | 
| 10 10 |  | 
| 11 11 | 
             
            > (unsigned)(sizeof (n+2,0)) 
         | 
| 12 12 |  | 
| 13 | 
            -
            「n+2,0」はカンマ演算子で右の式が値となるのでsizeof | 
| 13 | 
            +
            「n+2,0」はカンマ演算子で右の式が値となるので「sizeof 0」 となり
         | 
| 14 | 
            -
            実質sizeof | 
| 14 | 
            +
            実質「sizeof int」と同じになり4になります。
         | 
| 15 15 |  | 
| 16 | 
            -
            ※回答で示したサイズ値は | 
| 16 | 
            +
            ※回答で示したサイズ値は(sizeof int)==4の環境の場合です。
         | 
1
示したサイズ値はsizeof(int)==4の環境の場合であることを明記した。
    
        answer	
    CHANGED
    
    | @@ -11,4 +11,6 @@ | |
| 11 11 | 
             
            > (unsigned)(sizeof (n+2,0)) 
         | 
| 12 12 |  | 
| 13 13 | 
             
            「n+2,0」はカンマ演算子で右の式が値となるのでsizeof(0)となり
         | 
| 14 | 
            -
            実質sizeof(int)と同じになり4になります。
         | 
| 14 | 
            +
            実質sizeof(int)と同じになり4になります。
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            ※回答で示したサイズ値はsizeof(int)==4の環境の場合です。
         | 
