回答編集履歴
3
表現の修正
test
CHANGED
@@ -20,9 +20,9 @@
|
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
-
最初からsnoをint型にす
|
23
|
+
最初からsnoをint型にすれば良いのでは。
|
24
24
|
|
25
|
-
|
25
|
+
char型として扱う場合も既存の[isdigit](http://www.c-tipsref.com/reference/ctype/isdigit.html)関数を使えば済む話です。
|
26
26
|
|
27
27
|
|
28
28
|
|
2
追記
test
CHANGED
@@ -1,6 +1,34 @@
|
|
1
1
|
試してみましたが、正常に動いているように思えます。[Wandbox](https://wandbox.org/permlink/gV4Ysh4MnnZocTE4)
|
2
2
|
|
3
3
|
改行文字を除去し忘れているとか、呼び出し元のコードに問題があるのでは無いでしょうか。
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
#####質問追記を受けて
|
8
|
+
|
9
|
+
> ```C
|
10
|
+
|
11
|
+
char sno;
|
12
|
+
|
13
|
+
...
|
14
|
+
|
15
|
+
scanf("%d",&sno);
|
16
|
+
|
17
|
+
a=numeric_chk(&sno, 5);
|
18
|
+
|
19
|
+
> ```
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
最初からsnoをint型にすりゃいいのでは。
|
24
|
+
|
25
|
+
%cで受け取る場合も[isdigit](http://www.c-tipsref.com/reference/ctype/isdigit.html)を使えば済む話です。
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
numeric_chkが**文字**を受け取るのか、**文字列**を受け取るのか、仕様をはっきりさせてください。
|
30
|
+
|
31
|
+
C言語では両者の取り扱いが異なります。
|
4
32
|
|
5
33
|
|
6
34
|
|
1
追記
test
CHANGED
@@ -4,6 +4,12 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
+
---
|
8
|
+
|
7
9
|
また、インデントがぐちゃぐちゃです。
|
8
10
|
|
9
11
|
お手本となるようなコードを探して、できるだけ論理的階層にあったインデントを付けてください。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
**ex.** else節はif節に対応しているのに、インデントレベルが違う。
|