回答編集履歴

4

文言を少し修正

2021/03/08 09:22

投稿

raccy
raccy

スコア21735

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

質問の回答になるように修正

2021/03/08 09:22

投稿

raccy
raccy

スコア21735

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

をに変更

2021/03/08 09:17

投稿

raccy
raccy

スコア21735

test CHANGED
@@ -1,4 +1,4 @@
1
- **その本捨ててください。**
1
+ **その本捨ててください。**
2
2
 
3
3
 
4
4
 

1

NUL終端とは限らない

2021/03/07 13:00

投稿

raccy
raccy

スコア21735

test CHANGED
@@ -98,8 +98,12 @@
98
98
 
99
99
 
100
100
 
101
- 5. `s[34] = "¥n";`は無名な静的文字列`"¥n"`ポインターを`s`の34番目に文字と代入してるとう意味不明なコードです。
101
+ 5. `s`が初期化されておらず、`'\0'`の挿入も無いため、最後NUL文字があるは限りません。つまり、NUL終端文字列となってい可能性があります。
102
102
 
103
103
 
104
104
 
105
- 6. 「\」(U++5C)と「¥」(U+00A5)は違います。Windowsで「¥」を入力する方法非常に限られているため問題にりませんが、MacJISキボードでは「¥」と書かれた所押すと「¥」なります。**まもな入門書では、この「\」と「¥」の違いが最初に詳く書いいます。**も、それが書いていないのであれば、「初心者が読むには難しい難度が高い本」または「入門向け書かれてるが親切で役に立たい悪書」のどちらかです。
105
+ 6. `s[34] = "¥n";`無名静的文字列`"¥n"`へポインターを`s`の34番目文字として代入していという意味コードです。
106
+
107
+
108
+
109
+ 7. 「\」(U++5C)と「¥」(U+00A5)は違います。Windowsで「¥」を入力する方法は非常に限られているため問題になりませんが、MacのJISキーボードでは「¥」と書かれた所を押すと「¥」になります。**まともな入門書では、この「\」と「¥」の違いが最初に詳しく書いています。**もし、それが書いていないのであれば、「初心者が読むには難しい難度が高い本」または「入門向けと書かれているが不親切で役に立たない悪書」のどちらかです。