gpt4 book ai didi

c - printf 是否需要 %zu 说明符?

转载 作者:太空狗 更新时间:2023-10-29 17:01:42 25 4
gpt4 key购买 nike

我们在嵌入式平台上使用 C89。我试图打印出 size_t,但没有成功:

#include <stdio.h>
int main(void) {
size_t n = 123;
printf("%zu\n",n);
return 0;
}

我得到的不是123,而是zu
其他说明符工作正常。

如果 size_t 存在,zu 是否也应该在 printf 中可用?
这是我应该联系我的库供应商的事情,还是允许库实现排除它?

最佳答案

If size_t exists shouldn't zu also be available in printf?

size_t 至少自 C89 以来就存在,但相应的格式说明符 %zu(特别是长度修饰符 z)仅添加到标准中从 C99 开始。

因此,如果您不能使用 C99(或 C11)并且不得不在 C89 中打印 size_t,您只需要回退到其他现有类型,例如:

printf("%lu\n", (unsigned long)n);

关于c - printf 是否需要 %zu 说明符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41263896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com