读书人

printf格式化的一个疑问,该怎么处理

发布时间: 2012-06-06 16:44:11 作者: rapoo

printf格式化的一个疑问
下面这段代码,我在格式话字串中用了%01x,这个是打印一个16进制数,最多一位是么?(我的说法错在哪里)

C/C++ code
int main(int argc, char* const argv[]) {    char n = 0x80;    printf("%01x\n", (unsigned char)n);    return 0;}


但是实际打印了80

我把格式化字串改成了%0x\n,结果还是不变。

我的目的是想控制打印数字的个数,例如只打印这个数的16进制的一位。我该怎么改代码呢?

[解决办法]
%0mx

多于m位时,按照实际位数显示

少于m位时,补0

读书人网 >C语言

热点推荐