回答編集履歴
2
修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
outb という名前の char 配列を用意し、その要素数を 66 と定めて outb[0] を 0 に初期化しています。ここはおそらくバグ入りで、outb[
|
5
|
+
outb という名前の char 配列を用意し、その要素数を 66 と定めて ~~outb[0] を 0 に初期化して~~います。~~ここはおそらくバグ入りで、outb[65] を 0 にしたかったんだと思います。~~
|
6
6
|
|
7
7
|
|
8
8
|
|
1
修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
outb という名前の char 配列を用意し、その要素数を 66 と定めて outb[0] を 0 に初期化しています。ここはおそらくバグ入りで、outb[64] を 0 にしたかったんだと思います。
|
5
|
+
outb という名前の char 配列を用意し、その要素数を 66 と定めて outb[0] を 0 に初期化しています。ここはおそらくバグ入りで、outb[~~64~~65] を 0 にしたかったんだと思います。
|
6
6
|
|
7
7
|
|
8
8
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
i は outb 中のインデクスを表します。i = 0 の時、outb[i] は outb[0] を指します。これを 64 から(正確には --i なので事実上 63 から)カウントダウンさせることにより、outb の内容を後ろから書き換えています。
|
13
|
+
i は outb 中のインデクスを表します。i = 0 の時、outb[i] は outb[0] を指します。これを 64 から~~(正確には --i なので事実上 63 から)~~カウントダウンさせることにより、outb の内容を後ろから書き換えています。
|
14
14
|
|
15
15
|
|
16
16
|
|
@@ -18,8 +18,8 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
戻り値は、outb 内のアドレスです。たとえば outb[63] のみを書き換えた場合、outb[63] のアドレスが、outb[63] と outb[62] を書き換えた場合、outb[62] のアドレスが戻ります。
|
21
|
+
戻り値は、outb 内のアドレスです。たとえば outb[~~63~~64] のみを書き換えた場合、outb[~~63~~64] のアドレスが、outb[63] と outb[~~62~~64] を書き換えた場合、outb[~~62~~63] のアドレスが戻ります。
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
-
outb は char 配列なので、文字列として扱うことができます。たとえば outb[62] == '1', outb[63] == '2', outb[64] == '\0' であった場合、&outb[62] は文字列 "12" のアドレスになります。これを printf に渡すことにより、文字列を表示しています。
|
25
|
+
outb は char 配列なので、文字列として扱うことができます。たとえば outb[~~62~~63] == '1', outb[~~63~~64] == '2', outb[~~64~~65] == '\0' であった場合、&outb[~~62~~63] は文字列 "12" のアドレスになります。これを printf に渡すことにより、文字列を表示しています。
|