【C言語】char型の値を比較する方法について解説

この記事では、C言語のchar型の値を比較する方法と、その応用例について説明します。

文字の比較やASCIIコードを利用した比較、そしてstrcmp関数を使った比較方法を学び、文字列のソートや辞書順の比較などの応用例を理解することができます。

目次から探す

char型の値の比較方法

char型は、1バイトのメモリを使用して文字を表現するためのデータ型です。

char型の値を比較する方法には、いくつかの方法があります。

以下では、文字の比較、ASCIIコードを利用した比較、そしてstrcmp関数を利用した比較について説明します。

文字の比較

char型の変数には、文字を直接代入することができます。

そのため、単純にchar型の変数同士を比較することで、文字の比較が可能です。


#include <stdio.h>
int main() {
    char c1 = 'A';
    char c2 = 'B';
    if (c1 == c2) {
        printf("c1とc2は同じ文字です。\n");
    } else {
        printf("c1とc2は異なる文字です。\n");
    }
    return 0;
}

上記のコードでは、変数c1には文字’A’、変数c2には文字’B’が代入されています。

そして、if文を使ってc1とc2を比較し、同じ文字かどうかを判定しています。

実行結果は以下の通りです。

c1とc2は異なる文字です。

ASCIIコードを利用した比較

char型の値は、実際にはASCIIコードとして表現されています。

ASCIIコードは、文字に対応する数値を定義したものであり、文字の比較に利用することができます。


#include <stdio.h>
int main() {
    char c1 = 'A';
    char c2 = 'B';
    if (c1 < c2) {
        printf("c1はc2よりも前の文字です。\n");
    } else if (c1 > c2) {
        printf("c1はc2よりも後の文字です。\n");
    } else {
        printf("c1とc2は同じ文字です。\n");
    }
    return 0;
}

上記のコードでは、変数c1とc2を比較して、どちらが前の文字か、後の文字か、または同じ文字かを判定しています。

実行結果は以下の通りです。

c1はc2よりも前の文字です。

strcmp関数を利用した比較

C言語では、文字列を比較するためのstrcmp関数が用意されています。

この関数を使うことで、char型の値を比較することもできます。


#include <stdio.h>
#include <string.h>
int main() {
    char str1[] = "Hello";
    char str2[] = "World";
    int result = strcmp(str1, str2);
    if (result == 0) {
        printf("str1とstr2は同じ文字列です。\n");
    } else if (result < 0) {
        printf("str1はstr2よりも前の文字列です。\n");
    } else {
        printf("str1はstr2よりも後の文字列です。\n");
    }
    return 0;
}

上記のコードでは、strcmp関数を使って変数str1とstr2を比較し、どちらが前の文字列か、後の文字列か、または同じ文字列かを判定しています。

実行結果は以下の通りです。

str1はstr2よりも前の文字列です。

以上がchar型の値を比較する方法についての説明です。

文字の比較やASCIIコードを利用した比較、そしてstrcmp関数を利用した比較を使い分けることで、目的に応じた比較が可能です。

1 2

この記事のページ一覧
  1. 現在のページ
目次から探す