回答編集履歴

3

変数名変更

2022/01/02 07:52

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -6,11 +6,11 @@
6
6
 
7
7
  ```c
8
8
 
9
- int isValidNumbers(char *numbers, int size) {
9
+ int isValidNumbers(char *numbers, int requiredSize) {
10
10
 
11
- if(strlen(numbers) != size) return 0; //過不足
11
+ if(strlen(numbers) != requiredSize) return 0; //過不足
12
12
 
13
- for(int i=0; i<size; 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

付け足し

2022/01/02 07:52

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -1,4 +1,6 @@
1
1
  入力とチェックを分けるとスッキリすると思います。
2
+
3
+ ついでには、果たして num 配列(や同様の変数)は int である必要があるのかどうか…。
2
4
 
3
5
 
4
6
 

1

なぜか途中のが載ったので・・・

2022/01/02 07:48

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -1,6 +1,10 @@
1
+ 入力とチェックを分けるとスッキリすると思います。
2
+
3
+
4
+
1
5
  ```c
2
6
 
3
- int checkValidNumbers(char *numbers, int size) {
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(checkValidNumbers(val, len)) break;
37
+ if(isValidNumbers(val, len)) break;
34
38
 
35
39
  printf("やり直しです。 %d文字入力して下さい。 -> ",len);
36
40