回答編集履歴

1

繰り返し入力対応

2018/07/19 23:53

投稿

ttyp03
ttyp03

スコア16996

test CHANGED
@@ -28,15 +28,19 @@
28
28
 
29
29
  work = (char *)malloc(100);
30
30
 
31
- printf("文字列を入力:");
31
+ while(1){
32
32
 
33
- scanf_s("%s", work, 100);
33
+ printf("文字列を入力:");
34
34
 
35
+ scanf_s("%s", work, 100);
36
+
35
- if(strlen(work) > 5){
37
+ if(strlen(work) < 5){
38
+
39
+ break;
40
+
41
+ }
36
42
 
37
43
  printf("領域を超えます。\n");
38
-
39
- break;
40
44
 
41
45
  }
42
46
 
@@ -45,7 +49,3 @@
45
49
  ```
46
50
 
47
51
  厳密には文字列の終端にはNULL文字が必要なので、mallocで5バイト確保していても4文字しか格納できません。
48
-
49
- 上記コードはそこらへんは敢えて無視してますのでご了承ください。
50
-
51
- (本来ならif文は5ではなく4の方が正しいなど)