回答編集履歴

2

てにおは修正

2019/12/17 15:32

投稿

rubato6809
rubato6809

スコア1380

test CHANGED
@@ -56,6 +56,6 @@
56
56
 
57
57
  「化けて表示されて」いるという解釈は正しくありません。理由があって、表示されているのです。
58
58
 
59
- ただ、3つとも「-65535」なのは間違いないですか?この3つの数字は同じではないはずだと思います。なぜならここで表示している Data[0].num〜Data[2].num は、3つの構造体それぞれの num[10] 配列の、先頭アドレスを "%d" で10進数表示した結果ですから。異なるアドレスが表示されるはずだと思うのです。
59
+ ただ、3つとも「-65535」なのは間違いないですか?この3つの数字は同じではないはずだと思います。なぜならここで表示している Data[0].num〜Data[2].num は、3つの構造体それぞれの num[10] 配列の、先頭アドレスであり、それを "%d" で10進数表示した結果ですから。異なる数字が表示されると思うのです。
60
60
 
61
61
  -65535 = 0xFFFF0001 ですから、ひとつぐらいは -65535 でもよいかもしれないが(それでも何かヘンなアドレスだなあ)、3つは異なる番地のはずです。もういちど確認していただきたい。

1

-65535?追加

2019/12/17 15:32

投稿

rubato6809
rubato6809

スコア1380

test CHANGED
@@ -41,3 +41,21 @@
41
41
  };
42
42
 
43
43
  ```
44
+
45
+ さて、奇っ怪なのは「-65535」です
46
+
47
+ > -65535 people are required for playing soccer
48
+
49
+ > -65535 people are required for playing baseball
50
+
51
+ > -65535 people are required for playing rugby
52
+
53
+ > のように数値が化けて表示されてしまいます。
54
+
55
+
56
+
57
+ 「化けて表示されて」いるという解釈は正しくありません。理由があって、表示されているのです。
58
+
59
+ ただ、3つとも「-65535」なのは間違いないですか?この3つの数字は同じではないはずだと思います。なぜならここで表示している Data[0].num〜Data[2].num は、3つの構造体それぞれの num[10] 配列の、先頭アドレスを "%d" で10進数表示した結果ですから。異なるアドレスが表示されるはずだと思うのです。
60
+
61
+ -65535 = 0xFFFF0001 ですから、ひとつぐらいは -65535 でもよいかもしれないが(それでも何かヘンなアドレスだなあ)、3つは異なる番地のはずです。もういちど確認していただきたい。