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

回答編集履歴

2

追記

2018/05/26 08:48

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -52,4 +52,39 @@
52
52
  return 0;
53
53
  }
54
54
 
55
- ```
55
+ ```
56
+ 「追記」こういったこと?
57
+ ```c
58
+ #include <stdio.h>
59
+
60
+ typedef struct {
61
+ int no1;
62
+ int no2;
63
+ } person1;
64
+
65
+ void print(const person1 * const pp)
66
+ {
67
+ if( pp->no1 != 0){
68
+ printf("%d\n", pp->no1);
69
+ print(pp+1);
70
+ }
71
+ }
72
+
73
+ int main(void){
74
+
75
+ // 構造体配列に初期値セット
76
+ person1 person[] = {
77
+ {1,2},
78
+ {2,3},
79
+ {0,0}
80
+ };
81
+
82
+ print(person);
83
+
84
+ return 0;
85
+ }
86
+ ```
87
+ usr~/test % ./a.out
88
+ 1
89
+ 2
90
+ usr~/test %

1

追記

2018/05/26 08:47

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -18,4 +18,38 @@
18
18
  return 0;
19
19
  }
20
20
 
21
+ ```
22
+ 題意とは違うと思いますが、再起を使うと・・・
23
+ ```c
24
+ #include <stdio.h>
25
+
26
+ typedef struct {
27
+ int no1;
28
+ int no2;
29
+ } person1;
30
+
31
+ void print(person1 *pp)
32
+ {
33
+ if( pp->no1== 0){
34
+ return;
35
+ }
36
+ printf("%d\n", pp->no1);
37
+ //
38
+ print(++pp);
39
+ }
40
+
41
+ int main(void){
42
+
43
+ // 構造体配列に初期値セット
44
+ person1 person[] = {
45
+ {1,2},
46
+ {2,3},
47
+ {0,0}
48
+ };
49
+
50
+ print(person);
51
+
52
+ return 0;
53
+ }
54
+
21
55
  ```