9.5 文字変数の演算

文字変数で通常使う演算は、比較と代入である。 比較は、コンピュータ 内部で文字に割り当てられた整数値で行われる。一般に、

\begin{displaymath}
'a' < 'b' < 'c' < ... < 'z'
\end{displaymath}


\begin{displaymath}
'A' < 'B' < ... < 'Z'
\end{displaymath}

となっており、'a' と 'A' のうちどちらが大きいかは処理系による。また、 大文字と小文字が連続しているかどうかも処理系による。 更に、'0' と 'a' のどちらが大きいかかも処理系による。 勿論、

\begin{displaymath}
'0' < '1' < '2' < '3' < '4' < '5' < '6' < '7' < '8' < '9'
\end{displaymath}

とはなっている。

しかし通常大小比較を行う事は珍しく('a' と 'b' の大小関係を調べる事はあるが)、 多くの場合は一致しているか どうかを調べることが大半であろう。

    char c;
    ...
    if (c == 'y'){
        printf("Yes\n");
    }else{
        printf("No\n");
    }

但し、文字には整数値が割り当てられているのであるから、整数と考えれば 整数と同じ演算が許されるが(とは言え、実際にそのような演算をして役に立つか と言えば疑問ではあるが)、実際には整数型とは大きさが違う。

    char c = 'a';
    int i;
    for(i=0;i<26;i++){
        c++;    /* c は順に 'a','b','c',...,'z' と変化する */
    }



最初のページ 戻る 次へ 最後のページ 目次
Hiroyasu Asami