通知
すべてクリア
Topic starter
2002年9月30日 10:04 AM
void main()
{
char ctmp[3];
scanf( %s, ctmp ); // ここで”あ”を入力
printf( %.02x\n, ctmp[0] );
printf( %.02x\n, ctmp[2] );
}
出力結果
ffffffa4
ffffffa2
となってしまいます。2バイト文字を4桁のHEXで表現しいのですが、
先頭がどうしてもffffffがついてしまいます。
a4a2と出力する方法を教えてください。
2002年9月30日 10:57 AM
charの範囲は、-128~127で、0xa4=164ですから、
オーバーフローして-92になってしまうためです。
unsigned char ctmp[3];
としましょう。
Topic starter
2002年9月30日 11:25 AM
>dairygoods
解決しました。
ありがとうございました。