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()関数を用いてその文字を判定します。ゼロ以外の値が返されたら、その文字は数字なので「入力された文字は数字です」と出力が表示され、そうでなければ「入力された文字は数字ではありません」と出力が表示されます。

bannerAds