質問するログイン新規登録

回答編集履歴

7

誤字修正

2020/05/20 16:54

投稿

SHOMI
SHOMI

スコア4079

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

コード修正

2020/05/20 16:54

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -24,5 +24,5 @@
24
24
 
25
25
  ```diff
26
26
  - for (pp = pat; *pp != '\n'; pp++)
27
- + for (pp = pat; *pp != '\n'; pp++)
27
+ + for (pp = pat; *pp != '\0'; pp++)
28
28
  ```

5

コード修正

2020/05/20 16:49

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -21,11 +21,8 @@
21
21
  ```
22
22
 
23
23
  ---
24
- 以下の2か所のコードは何がしたいのでしょうか?
24
+
25
- ```C
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
- pt += (skip[*pt] > strlen(pp)) ? skip[*pt] : strlen(pp);
27
+ + for (pp = pat; *pp != '\n'; pp++)
31
28
  ```

4

誤字修正

2020/05/20 16:44

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -23,7 +23,7 @@
23
23
  ---
24
24
  以下の2か所のコードは何がしたいのでしょうか?
25
25
  ```C
26
- for (pp = pat; *pp != '\0'; pp++)
26
+ for (pp = pat; *pp != '\n'; pp++)
27
27
  skip[*pp] = strlen(pp) - 1;
28
28
  ```
29
29
  ```C

3

質問追加

2020/05/20 16:21

投稿

SHOMI
SHOMI

スコア4079

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

コード追記

2020/05/20 16:19

投稿

SHOMI
SHOMI

スコア4079

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

指摘追加

2020/05/20 15:43

投稿

SHOMI
SHOMI

スコア4079

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`が見つかるまでリープが止まりません。