【发布时间】:2021-07-03 16:47:05
【问题描述】:
如果 int 是 64 位,我可以假设 %d 产生 int 吗? 那么 %hd、%ld、%lld 是什么?如果我想要 int32_t 作为输出呢?
【问题讨论】:
如果 int 是 64 位,我可以假设 %d 产生 int 吗? 那么 %hd、%ld、%lld 是什么?如果我想要 int32_t 作为输出呢?
【问题讨论】:
在“inttypes.h”头文件中有许多用于固定宽度类型的格式说明符的宏,无论环境如何
对于以十进制格式打印的int32_t,您可以使用PRId32 宏。例如:
int32_t x;
printf("x = %" PRId32 "\n", x);
此宏扩展为包含d 格式说明符和任何必要的大小修饰符的字符串。上面的代码还利用了编译器合并一个接一个出现的字符串。
【讨论】: