回答編集履歴

3

僅か修正

2021/12/17 08:39

投稿

jimbe
jimbe

スコア13209

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 以下は文字列として (malloc した )buf に保存する形です。
5
+ 以下は文字列として (alloc した )buf に保存する形です。
6
6
 
7
7
  ```c
8
8
 
@@ -88,7 +88,7 @@
88
88
 
89
89
  }
90
90
 
91
- //ソートして表示
91
+ //ソートして表示(して開放)
92
92
 
93
93
  void sort_and_print() {
94
94
 
@@ -110,7 +110,7 @@
110
110
 
111
111
  void store_path(int n) {
112
112
 
113
- if(buf == NULL || buf_lastindex+(n+1) >= buf_size) {
113
+ if(buf_lastindex+(n+1) >= buf_size) {
114
114
 
115
115
  buf_size += (N+1);
116
116
 

2

修正

2021/12/17 08:39

投稿

jimbe
jimbe

スコア13209

test CHANGED
@@ -110,11 +110,13 @@
110
110
 
111
111
  void store_path(int n) {
112
112
 
113
- if(buf == NULL || buf_lastindex+(n+1) >= buf_size-1) {
113
+ if(buf == NULL || buf_lastindex+(n+1) >= buf_size) {
114
114
 
115
115
  buf_size += (N+1);
116
116
 
117
- buf = buf == NULL ? malloc(buf_size) : realloc(buf, buf_size);
117
+ buf = realloc(buf, buf_size); //buf=NULL なら malloc 同等
118
+
119
+ if(buf == NULL) exit(1); //拡張できなかったら(行儀悪く)即終了
118
120
 
119
121
  }
120
122
 

1

実行結果追加

2021/12/15 15:28

投稿

jimbe
jimbe

スコア13209

test CHANGED
@@ -195,3 +195,17 @@
195
195
  }
196
196
 
197
197
  ```
198
+
199
+ 実行結果
200
+
201
+ ```plain
202
+
203
+ ACEG
204
+
205
+ ABCEG
206
+
207
+ ABDEG
208
+
209
+ ACBDEG
210
+
211
+ ```