我知道在使用%x
时printf()
我们int
从堆栈中打印4个字节(十六进制).但我想只打印1个字节.有没有办法做到这一点 ?
假设:您想要打印1个字节宽度的变量值,即char
.
如果你有一个char
变量说,char x = 0;
并想要打印该值,请使用%hhx
格式说明符printf()
.
就像是
printf("%hhx", x);
否则,由于默认参数提升,声明就像
printf("%x", x);
也是正确的,因为printf()
不会sizeof(unsigned int)
从堆栈读取,x
将根据它的类型读取值,无论如何它将被提升为所需的类型.