teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コメントでの指摘を受けて、sizeof の括弧の付けかたについて意味のある付け方をするようにした。

2021/03/08 13:55

投稿

hidezzz
hidezzz

スコア1248

answer CHANGED
@@ -1,16 +1,16 @@
1
1
  > (unsigned)(sizeof n+2)
2
2
 
3
- 優先順位の関係でsizeof(n+2)とはならず、sizeof( n ) + 2 となります。
3
+ 優先順位の関係でsizeof(n+2)とはならず、( sizeof n ) + 2 となります。
4
- sizeof(int) + 2 で6になります。
4
+ ( sizeof int ) + 2 で6になります。
5
5
 
6
6
  > (unsigned)(sizeof (n+2))
7
7
 
8
- 「n+2」というint値のサイズを求めていて実質sizeof(int)と同じになり4になります。
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(0)となり
13
+ 「n+2,0」はカンマ演算子で右の式が値となるのでsizeof 0となり
14
- 実質sizeof(int)と同じになり4になります。
14
+ 実質sizeof intと同じになり4になります。
15
15
 
16
- ※回答で示したサイズ値はsizeof(int)==4の環境の場合です。
16
+ ※回答で示したサイズ値は(sizeof int)==4の環境の場合です。

1

示したサイズ値はsizeof(int)==4の環境の場合であることを明記した。

2021/03/08 13:54

投稿

hidezzz
hidezzz

スコア1248

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の環境の場合です。