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

回答編集履歴

3

「前」を「最後」に訂正。補足説明の追加

2019/06/07 07:23

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -23,11 +23,12 @@
23
23
  def -45
24
24
  , (^D または ^Z でもよい)
25
25
  ```
26
- スペースがの場合の実行例
26
+ スペースが最後の場合の実行例
27
27
  ```
28
28
  abc,123 (入力)
29
29
  def,-45 (入力)
30
30
  abc 123
31
31
  , (^D または ^Z でもよい)
32
32
  def -45
33
- ```
33
+ ```
34
+ 次の行を入力するまで、今の出力が出ません。

2

出力零の , をスペースに訂正

2019/06/07 07:23

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -18,16 +18,16 @@
18
18
  スペースが前の場合の実行例
19
19
  ```
20
20
  abc,123 (入力)
21
- abc,123
21
+ abc 123
22
22
  def,-45 (入力)
23
- def,-45
23
+ def -45
24
24
  , (^D または ^Z でもよい)
25
25
  ```
26
26
  スペースが前の場合の実行例
27
27
  ```
28
28
  abc,123 (入力)
29
29
  def,-45 (入力)
30
- abc,123
30
+ abc 123
31
31
  , (^D または ^Z でもよい)
32
- def,-45
32
+ def -45
33
33
  ```

1

説明の補足

2019/06/07 07:01

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -1,3 +1,33 @@
1
1
  一つ前の行の改行コードを読み飛ばすために
2
2
  "%[^,],%d,%d,%f,%f" の %[ の前にスペースを入れて
3
- " %[^,],%d,%d,%f,%f" にする。
3
+ " %[^,],%d,%d,%f,%f" にする。
4
+
5
+ ファイル入力の場合はスペースを最後においても構いませんが、
6
+ キーボード入力の場合に困ります。
7
+
8
+ ```C
9
+ #include <stdio.h>
10
+
11
+ int main(void)
12
+ {
13
+ char s[16]; int n;
14
+ while (scanf("%[^,],%d ", s, &n) == 2)
15
+ printf("%s %d\n", s, n);
16
+ }
17
+ ```
18
+ スペースが前の場合の実行例
19
+ ```
20
+ abc,123 (入力)
21
+ abc,123
22
+ def,-45 (入力)
23
+ def,-45
24
+ , (^D または ^Z でもよい)
25
+ ```
26
+ スペースが前の場合の実行例
27
+ ```
28
+ abc,123 (入力)
29
+ def,-45 (入力)
30
+ abc,123
31
+ , (^D または ^Z でもよい)
32
+ def,-45
33
+ ```