printf格式(%d与%u) [英] printf formatting (%d versus %u)
本文介绍了printf格式(%d与%u)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
打印指针地址时%d
和%u
有什么区别?
What is difference between %d
and %u
when printing pointer addresses?
例如:
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"
推荐答案
您可以在此页面.
%d
是有符号整数,而%u
是无符号整数.指针(当被视为数字时)通常是非负的.
%d
is a signed integer, while %u
is an unsigned integer. Pointers (when treated as numbers) are usually non-negative.
如果您确实要显示指针,请使用%p
格式说明符.
If you actually want to display a pointer, use the %p
format specifier.
这篇关于printf格式(%d与%u)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文