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

回答編集履歴

1

ソース追記

2018/08/11 04:33

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -1,1 +1,45 @@
1
- 直接の回答ではありませんが、[平均値プログラムsscanfの返り値で](https://teratail.com/questions/140350)のBAを参考にされたらどうでしょう?
1
+ 直接の回答ではありませんが、[平均値プログラムsscanfの返り値で](https://teratail.com/questions/140350)のBAを参考にされたらどうでしょう?
2
+ [追記]
3
+ sscanf()を使わなければ、こんな方法も有りますd^^
4
+ ```c
5
+ usr~/test/c % cat ct0.c
6
+ #include <stdio.h>
7
+ #include <stdlib.h>
8
+ //
9
+ int read(void);
10
+
11
+ int main(void)
12
+ {
13
+ printf("カウンタ=%d\n", read());
14
+ //
15
+ return 0;
16
+ }
17
+ /**
18
+ */
19
+ int read(void)
20
+ {
21
+ int siz = 0;
22
+ char *ptr = 0;
23
+ char buf[1024];
24
+ //
25
+ if (fgets(buf, sizeof buf, stdin) != NULL) {
26
+ siz = (int)strtol(buf, &ptr, 10);
27
+ for (int i = 0; i < siz; i++) {
28
+ int n = (int)strtol(ptr, &ptr, 10);
29
+ printf("%d\n", n);
30
+ }
31
+ }
32
+ //
33
+ return siz;
34
+ }
35
+ //
36
+ usr~/test/c % ./a.out
37
+ 4 1 2 3 4
38
+ 1
39
+ 2
40
+ 3
41
+ 4
42
+ カウンタ=4
43
+ usr~/test/c %
44
+
45
+ ```