回答編集履歴

3

修正案削除

2018/10/24 15:35

投稿

set0gut1
set0gut1

スコア2413

test CHANGED
@@ -25,45 +25,3 @@
25
25
  つまり出力するとき、最後に読み込んだ文字列が複数回出力されます。
26
26
 
27
27
  これはまた別のバグなので頑張ってくださいbb
28
-
29
-
30
-
31
- -----------
32
-
33
-
34
-
35
- 追記: コード修正案
36
-
37
- char 配列が何個かあればいいので例えば buf を二次配列にするとかで対応できます。
38
-
39
-
40
-
41
- ```
42
-
43
- #include<stdio.h>
44
-
45
-
46
-
47
- int main(){
48
-
49
- char buf[3][100];
50
-
51
- int count = 0;
52
-
53
- while (fgets(buf[count], sizeof(buf[count]), stdin) != NULL) {
54
-
55
- count = (count + 1) % 3;
56
-
57
- }
58
-
59
- for (int i = 0; i < 3; i++) {
60
-
61
- printf("%s", buf[i]);
62
-
63
- }
64
-
65
- return 0;
66
-
67
- }
68
-
69
- ```

2

修正案追記

2018/10/24 15:35

投稿

set0gut1
set0gut1

スコア2413

test CHANGED
@@ -25,3 +25,45 @@
25
25
  つまり出力するとき、最後に読み込んだ文字列が複数回出力されます。
26
26
 
27
27
  これはまた別のバグなので頑張ってくださいbb
28
+
29
+
30
+
31
+ -----------
32
+
33
+
34
+
35
+ 追記: コード修正案
36
+
37
+ char 配列が何個かあればいいので例えば buf を二次配列にするとかで対応できます。
38
+
39
+
40
+
41
+ ```
42
+
43
+ #include<stdio.h>
44
+
45
+
46
+
47
+ int main(){
48
+
49
+ char buf[3][100];
50
+
51
+ int count = 0;
52
+
53
+ while (fgets(buf[count], sizeof(buf[count]), stdin) != NULL) {
54
+
55
+ count = (count + 1) % 3;
56
+
57
+ }
58
+
59
+ for (int i = 0; i < 3; i++) {
60
+
61
+ printf("%s", buf[i]);
62
+
63
+ }
64
+
65
+ return 0;
66
+
67
+ }
68
+
69
+ ```

1

別のバグについて追記

2018/10/24 15:31

投稿

set0gut1
set0gut1

スコア2413

test CHANGED
@@ -9,3 +9,19 @@
9
9
 
10
10
 
11
11
  `char tmp [100];` を `char* tmp [100];` にすると直ります。
12
+
13
+
14
+
15
+ -----------
16
+
17
+
18
+
19
+ 追記
20
+
21
+
22
+
23
+ `tmp[i]` に `buf` を何回か入れてますが、 `buf` は毎回同じ値です。
24
+
25
+ つまり出力するとき、最後に読み込んだ文字列が複数回出力されます。
26
+
27
+ これはまた別のバグなので頑張ってくださいbb