当打印十六进制值(%x
)和地址(%p
)时,格式略有不同。0x
在十六进制值的情况下,打印的值不以:
int main()
{
int x = 0x1234;
printf("Value of x: %x\n", x);
printf("Address of x: %p\n", (void*)&x);
}
产量(gcc):
Value of x: 1234
Address of x: 0xffb0fbfc
为什么0x
在地址的情况下强加于您?
我猜它可以归结为标准。
0x
如果我不想打印地址,正确的方法是什么?的%p
不仅是%x
与添加0x
的权利?
p
该参数应为指向void的指针。指针的值以实现定义的方式转换为可打印字符的序列。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句