如题, 在希望把一个数以 0x** 的形式显示出来时, 意外发现.
printf("%#04x\n", 0)
输出的结果是0000, 而不是期望的0x00
iostream版的也是一样:
cout << hex << internal << setw(4) << showbase << setfill('0') << 0 << endl;
(iostream 实现上面一个等价的功能有多麻烦!)
不知道这样一个小细节是否在语言或库标准中有规定.
阅读(1606) | 评论(0) | 转发(0) |