C言語で数値である文字列を判定の方法
C言語ではisdigit()関数を使って文字が数字かどうか判定できます。isdigit()関数は文字を引数にとり、その文字が数字の場合はゼロ以外の値(真)、それ以外は0(偽)を返します。
サンプルプログラムを示します。
#include <stdio.h>
#include <ctype.h>
int main() {
char ch;
printf("请输入一个字符:");
scanf("%c", &ch);
if (isdigit(ch)) {
printf("输入的字符是数字\n");
} else {
printf("输入的字符不是数字\n");
}
return 0;
}
上記のプログラムでは、まずscanf()関数を使用して一文字を読み取り、変数chに格納します。次に、isdigit()関数を用いてその文字を判定します。ゼロ以外の値が返されたら、その文字は数字なので「入力された文字は数字です」と出力が表示され、そうでなければ「入力された文字は数字ではありません」と出力が表示されます。