printf格式(%d与%u) [英] printf formatting (%d versus %u)

查看:180
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆