【问题标题】:How do I specfy an int32_t output parameter with a scanf format on a 64-bit processor? [duplicate]如何在 64 位处理器上指定具有 scanf 格式的 int32_t 输出参数? [复制]
【发布时间】:2021-07-03 16:47:05
【问题描述】:

如果 int 是 64 位,我可以假设 %d 产生 int 吗? 那么 %hd、%ld、%lld 是什么?如果我想要 int32_t 作为输出呢?

【问题讨论】:

    标签: c scanf


    【解决方案1】:

    在“inttypes.h”头文件中有许多用于固定宽度类型的格式说明符的宏,无论环境如何

    对于以十进制格式打印的int32_t,您可以使用PRId32 宏。例如:

    int32_t x;
    printf("x = %" PRId32 "\n", x);
    

    此宏扩展为包含d 格式说明符和任何必要的大小修饰符的字符串。上面的代码还利用了编译器合并一个接一个出现的字符串。

    【讨论】:

      猜你喜欢
      • 2010-09-19
      • 2021-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-19
      • 2012-02-07
      相关资源
      最近更新 更多