C言語なら俺に聞け(入門篇) Part 6
■ このスレッドは過去ログ倉庫に格納されています
0526デフォルトの名無しさん
2007/01/16(火) 01:30:53ごめん、説明で大文字の文字コードと小文字の文字コードを丸ごと入れ替えて書いてしまったorz
通常の訂正だとわけがわからなくなるので519は丸ごと破棄して以下の説明で置き換えて欲しい。
'a'と0x61が同じ意味ってのも説明し直してみた。
---
文字はそれぞれコードがついているのは知っていると思う。
以下のようになっている。文字(16進のコード)のように表している。
A(41) B(42) C(43) 〜 Z(5a)
a(61) b(62) c(63) 〜 z(7a)
C言語では'a'という表記は文字aを表す文字コードの整数値と同じ意味を持つ。
だから、intの変数xに、「x = 'a';」と代入しても「x = 0x61;」と代入しても、
同じ値が入る。
さてここで、'c' - 'a'を考える。この値は63-61=2だ。
で、’A'+2はどうかというと、41+2=43='C'になる。
即ち 'c' - 'a' + 'A' = 'C' になる。
■ このスレッドは過去ログ倉庫に格納されています