打印指针地址时%d
和%u
有什么区别?
例如:
int a = 5;
// check the memory address
printf("memory address = %d\n", &a); // prints "memory address = -12"
printf("memory address = %u\n", &a); // prints "memory address = 65456"
最佳答案
您可以在 this page 上找到格式转义列表。 .
%d
是有符号整数,而 %u
是无符号整数。指针(当被视为数字时)通常是非负的。
如果您确实想显示指针,请使用 %p
格式说明符。
https://stackoverflow.com/questions/1156942/