回答編集履歴
7
誤字修正
answer
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
```C
|
6
6
|
for (pp = pat; *pp != '\n'; pp++)
|
7
7
|
```
|
8
|
-
`scanf`で読み取った文字列には改行が含まれないので、メモリ上のどこかで`\n`が見つかるまで
|
8
|
+
`scanf`で読み取った文字列には改行が含まれないので、メモリ上のどこかで`\n`が見つかるまでループが止まりません。
|
9
9
|
|
10
10
|
---
|
11
11
|
|
6
コード修正
answer
CHANGED
@@ -24,5 +24,5 @@
|
|
24
24
|
|
25
25
|
```diff
|
26
26
|
- for (pp = pat; *pp != '\n'; pp++)
|
27
|
-
+ for (pp = pat; *pp != '\
|
27
|
+
+ for (pp = pat; *pp != '\0'; pp++)
|
28
28
|
```
|
5
コード修正
answer
CHANGED
@@ -21,11 +21,8 @@
|
|
21
21
|
```
|
22
22
|
|
23
23
|
---
|
24
|
-
|
24
|
+
|
25
|
-
```
|
25
|
+
```diff
|
26
|
-
for (pp = pat; *pp != '\n'; pp++)
|
26
|
+
- for (pp = pat; *pp != '\n'; pp++)
|
27
|
-
skip[*pp] = strlen(pp) - 1;
|
28
|
-
```
|
29
|
-
```C
|
30
|
-
|
27
|
+
+ for (pp = pat; *pp != '\n'; pp++)
|
31
28
|
```
|
4
誤字修正
answer
CHANGED
@@ -23,7 +23,7 @@
|
|
23
23
|
---
|
24
24
|
以下の2か所のコードは何がしたいのでしょうか?
|
25
25
|
```C
|
26
|
-
for (pp = pat; *pp != '\
|
26
|
+
for (pp = pat; *pp != '\n'; pp++)
|
27
27
|
skip[*pp] = strlen(pp) - 1;
|
28
28
|
```
|
29
29
|
```C
|
3
質問追加
answer
CHANGED
@@ -18,4 +18,14 @@
|
|
18
18
|
- *(pt + txt_len - i) = swap;
|
19
19
|
+ *(txt + txt_len - i - 1) = swap;
|
20
20
|
}
|
21
|
+
```
|
22
|
+
|
23
|
+
---
|
24
|
+
以下の2か所のコードは何がしたいのでしょうか?
|
25
|
+
```C
|
26
|
+
for (pp = pat; *pp != '\0'; pp++)
|
27
|
+
skip[*pp] = strlen(pp) - 1;
|
28
|
+
```
|
29
|
+
```C
|
30
|
+
pt += (skip[*pt] > strlen(pp)) ? skip[*pt] : strlen(pp);
|
21
31
|
```
|
2
コード追記
answer
CHANGED
@@ -5,4 +5,17 @@
|
|
5
5
|
```C
|
6
6
|
for (pp = pat; *pp != '\n'; pp++)
|
7
7
|
```
|
8
|
-
`scanf`で読み取った文字列には改行が含まれないので、メモリ上のどこかで`\n`が見つかるまでリープが止まりません。
|
8
|
+
`scanf`で読み取った文字列には改行が含まれないので、メモリ上のどこかで`\n`が見つかるまでリープが止まりません。
|
9
|
+
|
10
|
+
---
|
11
|
+
|
12
|
+
```diff
|
13
|
+
for (i = 0; i < strlen(txt) / 2; i++) {
|
14
|
+
- char swap = *(pt + i);
|
15
|
+
+ char swap = *(txt + i);
|
16
|
+
- *(pt + i) = *(pt + txt_len - i); //ここが入れ替えてる場所です
|
17
|
+
+ *(txt + i) = *(txt + txt_len - i - 1); //ここが入れ替えてる場所です
|
18
|
+
- *(pt + txt_len - i) = swap;
|
19
|
+
+ *(txt + txt_len - i - 1) = swap;
|
20
|
+
}
|
21
|
+
```
|
1
指摘追加
answer
CHANGED
@@ -1,1 +1,8 @@
|
|
1
|
-
`pt`に値を設定しないまま使用しています。
|
1
|
+
`pt`に値を設定しないまま使用しています。
|
2
|
+
|
3
|
+
---
|
4
|
+
|
5
|
+
```C
|
6
|
+
for (pp = pat; *pp != '\n'; pp++)
|
7
|
+
```
|
8
|
+
`scanf`で読み取った文字列には改行が含まれないので、メモリ上のどこかで`\n`が見つかるまでリープが止まりません。
|