回答編集履歴
4
文言を少し修正
test
CHANGED
@@ -78,11 +78,11 @@
|
|
78
78
|
|
79
79
|
|
80
80
|
|
81
|
-
質問のコードには致命的な間違いが複数含まれています。エラーメッセージからエラーとなる部分は特定できませんが、
|
81
|
+
質問のコードには致命的な間違いが複数含まれています。エラーメッセージからエラーとなる部分は特定できませんが、コード自体の間違いの他、書き写し間違いや、実行時の勘違いなど、複数の問題がおきていると考えられます。ですが、**本に書かれていたというコード(質問文に書いているコード)そもそもがおかしいため、何がどうなっているのかを把握することすら困難です。**よって、その本自体が学習者に混乱をもたらしていると考えられます。
|
82
82
|
|
83
83
|
|
84
84
|
|
85
|
-
|
85
|
+
つまり、その本は役に立つどころか**害悪**であると私は判断します。即座に捨て内容を忘れることをお勧めします。
|
86
86
|
|
87
87
|
|
88
88
|
|
3
質問の回答になるように修正
test
CHANGED
@@ -1,12 +1,4 @@
|
|
1
|
-
**その本を捨ててください。**
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
コードには
|
1
|
+
質問のコードには多くの問題が含まれています。それら一つ一つを詳しく説明するには余りにも長くなってしまいますので、修正したコードを用意しました。こちらをお使いください。
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
ひとまず、私の方で修正したのか下記になります。
|
10
2
|
|
11
3
|
|
12
4
|
|
@@ -74,6 +66,26 @@
|
|
74
66
|
|
75
67
|
|
76
68
|
|
69
|
+
上のコードをそのまま貼り付けて実行すれば、エラーはでなくなるはずです。
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
---
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
今後の方針としては、**その本を捨ててください。**
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
質問のコードには致命的な間違いが複数含まれています。エラーメッセージからエラーとなる部分は特定できませんが、その他、書き写し間違いや、実行時の勘違いなど、複数の問題がおきていると考えられます。ですが、本に書かれていたというコード(質問文に書いているコード)そもそもがおかしいため、何がどうなっているのかを指摘することすら困難です。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
よって、その本は役に立つどころか**害悪**であると私は判断します。即座に捨て内容を忘れることをお勧めします。
|
86
|
+
|
87
|
+
|
88
|
+
|
77
89
|
---
|
78
90
|
|
79
91
|
|
2
をに変更
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
**その本
|
1
|
+
**その本を捨ててください。**
|
2
2
|
|
3
3
|
|
4
4
|
|
1
NUL終端とは限らない
test
CHANGED
@@ -98,8 +98,12 @@
|
|
98
98
|
|
99
99
|
|
100
100
|
|
101
|
-
5. `s
|
101
|
+
5. `s`が初期化されておらず、`'\0'`の挿入も無いため、最後にNUL文字があるとは限りません。つまり、NUL終端文字列となっていない可能性があります。
|
102
102
|
|
103
103
|
|
104
104
|
|
105
|
-
6.
|
105
|
+
6. `s[34] = "¥n";`は無名な静的文字列`"¥n"`へのポインターを`s`の34番目に文字として代入しているという意味不明なコードです。
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
7. 「\」(U++5C)と「¥」(U+00A5)は違います。Windowsで「¥」を入力する方法は非常に限られているため問題になりませんが、MacのJISキーボードでは「¥」と書かれた所を押すと「¥」になります。**まともな入門書では、この「\」と「¥」の違いが最初に詳しく書いています。**もし、それが書いていないのであれば、「初心者が読むには難しい難度が高い本」または「入門向けと書かれているが不親切で役に立たない悪書」のどちらかです。
|