回答編集履歴

2

微修正

2022/03/08 23:08

投稿

episteme
episteme

スコア16614

test CHANGED
@@ -16,10 +16,9 @@
16
16
  for (j = 0; needle[j] != '\0'; j++) {
17
17
  if (haystack[i + j] != needle[j]) // 比較の途中で一致しない箇所が見つかったら調査を終了して次のiへ。
18
18
  break;
19
- }
20
- if (needle[j] == '\0') // 一致したのでそのアドレスを返す
21
- return (&haystack[i]);
22
19
  }
20
+ if (needle[j] == '\0') // 一致したのでそのアドレスを返す
21
+ return (&haystack[i]);
23
22
  }
24
23
  return (0); // 一致箇所が見つからなかった
25
24
  }

1

微修正

2022/03/08 22:54

投稿

episteme
episteme

スコア16614

test CHANGED
@@ -9,9 +9,10 @@
9
9
  for (i = 0; haystack[i] != '\0'; i++) {
10
10
 
11
11
  // haystackのi文字目以降とneedleとが一致するか、すなわち
12
- // haystack[i], haystack[i+1], haystack[i+2]... と
12
+ // haystack[i+0], haystack[i+1], haystack[i+2]... と
13
13
  // needle[0], needle[1], needle[2] ... が一致するかを調べる
14
14
  // iは"ずらし幅": haystackの先頭からiだけずらした位置にneedleがあるかを調べる
15
+ // jは上記の0, 1, 2 ... に相当する
15
16
  for (j = 0; needle[j] != '\0'; j++) {
16
17
  if (haystack[i + j] != needle[j]) // 比較の途中で一致しない箇所が見つかったら調査を終了して次のiへ。
17
18
  break;