C言語で文字が漢字かどうかを判断する

C言語の文字コードを使用して、文字が漢字であるかどうかを判断することができます。 Unicodeコードでは、漢字の範囲は0x4E00〜0x9FA5です。

以下のコードは例です:

#include<stdio.h>

int isChineseChar(char c) {
    unsigned char ch = (unsigned char)c;  // 将字符强制转换为无符号字符
    if(ch >= 0x4E00 && ch <= 0x9FA5) {  // 判断是否在汉字编码范围内
        return 1;  // 是汉字
    }
    return 0;  // 不是汉字
}

int main() {
    char c;
    printf("请输入一个字符:");
    scanf("%c", &c);
    if(isChineseChar(c)) {
        printf("该字符是汉字。\n");
    } else {
        printf("该字符不是汉字。\n");
    }
    return 0;
}

上記のコードでは、isChineseChar()関数は文字が漢字であるかどうかを判断します。まず、文字を符号なし文字に変換し、その後、Unicodeコードが漢字コードの範囲内にあるかどうかを判断します。文字が漢字であれば1を返し、そうでなければ0を返します。

main()関数内では、最初にscanf()関数を使ってユーザーの入力を取得します。そして、isChineseChar()関数を呼び出してその文字が漢字かどうかを判定し、判定結果に応じて適切なメッセージを出力します。

bannerAds