4
int x = 0xff;
printf("%#x",x);

出力:0xff

printf("%x",x);

出力:ff

なぜ出力に違いがあるのですか?具体的に何をし#ますか?

4

2 に答える 2

6

標準は次のように述べています。

7.21.6 - 2

結果は「代替形式」に変換されます。... x (または X) 変換の場合、ゼロ以外の結果には 0x (または 0X) が前に付けられます。

それは他にも興味深いことをします (特にフロートの場合) が、私はそれが使用されているのを見たことはほとんどありません - 正直に言って、覚えておくために調べなければならなかったことを認めます。

于 2012-08-12T14:21:14.423 に答える