C言語なら俺に聞け(入門篇) Part 5
■ このスレッドは過去ログ倉庫に格納されています
0164デフォルトの名無しさん
2006/12/05(火) 05:11:07cがcharのときはprintfに渡すときはintに格上げされる。
0x0000ffはcharに入れたときは10進で-1だから、
intに格上げされたときの-1の値が入る。それが0xffffffffだ。
# fが2個足りないんじゃないか?
cがunsigned charのときは0x0000ffは10進で255だ。
それがintに格上げされたとして255の値が入る。
そいつは16進で0xffだ。お望みの通りの結果になる。
なぜcharやunsigned charがintに格上げになるのかは、
まあそういう規則だからと思っておけ。
詳しくは関数のプロトタイプの解説をどっかで見つけて読めばいいと思う。
■ このスレッドは過去ログ倉庫に格納されています