(%A) 仅仅代表以何种格式显示所要显示的数据, 具体何种格式如下:
%d 有符号 10 进制整数
%i 有符号 10 进制整数
%o 无符号 8 进制整数
%u 无符号 10 进制整数
%x 无符号的 16 进制数字, 并以小写 abcdef 表示
%X 无符号的 16 进制数字, 并以大写 ABCDEF 表示
%F/f 浮点数
%E/e 用科学表示格式的浮点数
%g 使用 %f 和 %e 表示中的总的位数表示最短的来表示浮点数 G 同 g 格式, 但表示为指数
%c 单个字符
%s 字符串
所以 %p 是将所要显示的数据以地址指针格式输出, 即如果是 32 位, 以 4 字节十六进制格式输出, 如果是 64 位, 以 8 字节十六进制格式输出.
而 %X 仅仅是将要显示的数据以十六进制格式输出, 所以当地址做高位为 0 是会不显示, 若想要显示显示为 4 字节, 可以将格式设置为 %08X.
原文 https://www.cnblogs.com/lixuejian/p/10797039.html
至于 printf 的全部参数以及 sprintf 后面详细了解了再做补充.
来源: http://www.bubuko.com/infodetail-3464849.html