我知道当 %x
与 printf()
一起使用时,我们从堆栈中打印 4 个字节(十六进制的 int
)。但我只想打印 1 个字节。有办法做到这一点吗?
最佳答案
假设:您想打印一个 1 字节宽的变量的值,即 char
。
如果您有一个 char
变量,比如 char x = 0;
并且想要打印该值,请使用 %hhx
格式说明符使用 printf()
。
有点像
printf("%hhx", x);
否则,由于默认参数提升,像这样的语句
printf("%x", x);
也是正确的,因为 printf()
不会从 stack 读取 sizeof(unsigned int)
, 的值>x
将根据其类型进行读取,并且无论如何都会将其提升为所需的类型。
关于c - 如何用 printf 打印 1 个字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41638330/