回答編集履歴
3
answer
CHANGED
@@ -17,5 +17,5 @@
|
|
17
17
|
ここもおかしいです。
|
18
18
|
ここは、input から取り出した1文字が、配列 g_ch の中に含まれているか調べ、含まれていない場合は、g_chに追加する部分だと思われます。
|
19
19
|
この場合、g_chに文字を追加するのは、最後まで一致する文字がなかった場合に限ります。
|
20
|
-
しかし、上のコードでは、チェックの途中で文字が一致しなくな
|
20
|
+
しかし、上のコードでは、チェックの途中であっても、文字が一致しなくなったらすぐに新しい文字をg_chに格納しようとしています。
|
21
21
|
さらに、新しい文字を格納する処理のところが逆になっています(inputの配列に、g_chの文字を格納している)。
|
2
answer
CHANGED
@@ -16,6 +16,6 @@
|
|
16
16
|
```
|
17
17
|
ここもおかしいです。
|
18
18
|
ここは、input から取り出した1文字が、配列 g_ch の中に含まれているか調べ、含まれていない場合は、g_chに追加する部分だと思われます。
|
19
|
-
この場合、
|
19
|
+
この場合、g_chに文字を追加するのは、最後まで一致する文字がなかった場合に限ります。
|
20
20
|
しかし、上のコードでは、チェックの途中で文字が一致しなくなると、すぐに新しい文字を格納しようとしています。
|
21
21
|
さらに、新しい文字を格納する処理のところが逆になっています(inputの配列に、g_chの文字を格納している)。
|
1
answer
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
for (int i = 0; i != MAX; g_chcount[i]) g_chcount[i] = 0;
|
3
3
|
```
|
4
4
|
まずここで無限ループになっているような気がします。
|
5
|
+
どれだけループしても i はゼロのままであり、 MAX(101)と等しくなることはありません。
|
5
6
|
|
6
7
|
```c
|
7
8
|
for (countb = 0; g_ch[countb] != '\0'; countb++) {
|