回答編集履歴

2

文言修正

2021/01/14 14:30

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 条件式に`found !=1`が含まれているため、1つ見つかった後は`found`が`1`となり2つ目以降を探していませんよ。
5
+ 1つ見つけた後は`found`が`1`となりますが、`while`の条件式に`found !=1`が含まれているため2つ目以降を探していませんよ。
6
6
 
7
7
  ```diff
8
8
 
@@ -10,26 +10,4 @@
10
10
 
11
11
  + while(i+klen-1 < tlen)
12
12
 
13
- {
14
-
15
- j=0;
16
-
17
- while(j<klen && t[i+j] == k[j]) j++;
18
-
19
- if(j == klen)
20
-
21
- {
22
-
23
- found = 1;
24
-
25
- printf("位置:%d\n",i);
26
-
27
- cnt++;
28
-
29
- }
30
-
31
-        i++;
32
-
33
- }
34
-
35
13
  ```

1

文言修正

2021/01/14 14:29

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -2,11 +2,13 @@
2
2
 
3
3
 
4
4
 
5
- 1つ見つかった後は`found`が`1`となり2つ目以降を探していませんよ。
5
+ 条件式に`found !=1`が含まれているため、1つ見つかった後は`found`が`1`となり2つ目以降を探していませんよ。
6
6
 
7
- ```C
7
+ ```diff
8
8
 
9
- while(i+klen-1 < tlen && found !=1 ) // ここ
9
+ - while(i+klen-1 < tlen && found !=1 )
10
+
11
+ + while(i+klen-1 < tlen)
10
12
 
11
13
  {
12
14