printf格式化的一个疑问,该怎么处理
printf格式化的一个疑问下面这段代码,我在格式话字串中用了%01x,这个是打印一个16进制数,最多一位是么?(我
printf格式化的一个疑问
下面这段代码,我在格式话字串中用了%01x,这个是打印一个16进制数,最多一位是么?(我的说法错在哪里)
C/C++ codeint 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