回答編集履歴
1
insert の変更を追記
answer
CHANGED
@@ -55,4 +55,27 @@
|
|
55
55
|
}
|
56
56
|
return 0;
|
57
57
|
}
|
58
|
+
```
|
59
|
+
**追記**
|
60
|
+
```C
|
61
|
+
void insert(struct node *p, char x) {
|
62
|
+
while (p->next != NULL) p = p->next; // ★ 追加: 最後を見つける
|
63
|
+
|
64
|
+
struct node *n;
|
65
|
+
n = (struct node*)malloc(sizeof(struct node));
|
66
|
+
n->element = x;
|
67
|
+
n->next = p->next;
|
68
|
+
p->next = n;
|
69
|
+
}
|
70
|
+
|
71
|
+
void printlist(struct node *p) {
|
72
|
+
if(p->next == NULL) {
|
73
|
+
putchar('\n');
|
74
|
+
}else {
|
75
|
+
p = p->next;
|
76
|
+
putchar(p->element);
|
77
|
+
printlist(p);
|
78
|
+
// putchar(p->element); // ★ 削除
|
79
|
+
}
|
80
|
+
}
|
58
81
|
```
|