回答編集履歴
1
繰り返し入力対応
answer
CHANGED
@@ -13,14 +13,14 @@
|
|
13
13
|
```c
|
14
14
|
mojiretu = (char *)malloc(5);
|
15
15
|
work = (char *)malloc(100);
|
16
|
+
while(1){
|
16
|
-
printf("文字列を入力:");
|
17
|
+
printf("文字列を入力:");
|
17
|
-
scanf_s("%s", work, 100);
|
18
|
+
scanf_s("%s", work, 100);
|
18
|
-
if(strlen(work)
|
19
|
+
if(strlen(work) < 5){
|
20
|
+
break;
|
21
|
+
}
|
19
22
|
printf("領域を超えます。\n");
|
20
|
-
break;
|
21
23
|
}
|
22
24
|
strcpy(mojiretu, work);
|
23
25
|
```
|
24
|
-
厳密には文字列の終端にはNULL文字が必要なので、mallocで5バイト確保していても4文字しか格納できません。
|
26
|
+
厳密には文字列の終端にはNULL文字が必要なので、mallocで5バイト確保していても4文字しか格納できません。
|
25
|
-
上記コードはそこらへんは敢えて無視してますのでご了承ください。
|
26
|
-
(本来ならif文は5ではなく4の方が正しいなど)
|