回答編集履歴
3
変数名変更
test
CHANGED
@@ -6,11 +6,11 @@
|
|
6
6
|
|
7
7
|
```c
|
8
8
|
|
9
|
-
int isValidNumbers(char *numbers, int
|
9
|
+
int isValidNumbers(char *numbers, int requiredSize) {
|
10
10
|
|
11
|
-
if(strlen(numbers) !=
|
11
|
+
if(strlen(numbers) != requiredSize) return 0; //過不足
|
12
12
|
|
13
|
-
for(int i=0; i<
|
13
|
+
for(int i=0; i<requiredSize; i++) {
|
14
14
|
|
15
15
|
if(numbers[i] < '0' || '9' < numbers[i]) return 0; //数字じゃない
|
16
16
|
|
2
付け足し
test
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
入力とチェックを分けるとスッキリすると思います。
|
2
|
+
|
3
|
+
ついでには、果たして num 配列(や同様の変数)は int である必要があるのかどうか…。
|
2
4
|
|
3
5
|
|
4
6
|
|
1
なぜか途中のが載ったので・・・
test
CHANGED
@@ -1,6 +1,10 @@
|
|
1
|
+
入力とチェックを分けるとスッキリすると思います。
|
2
|
+
|
3
|
+
|
4
|
+
|
1
5
|
```c
|
2
6
|
|
3
|
-
int
|
7
|
+
int isValidNumbers(char *numbers, int size) {
|
4
8
|
|
5
9
|
if(strlen(numbers) != size) return 0; //過不足
|
6
10
|
|
@@ -30,7 +34,7 @@
|
|
30
34
|
|
31
35
|
scanf("%s", val);
|
32
36
|
|
33
|
-
if(
|
37
|
+
if(isValidNumbers(val, len)) break;
|
34
38
|
|
35
39
|
printf("やり直しです。 %d文字入力して下さい。 -> ",len);
|
36
40
|
|