Tre*_*key 8 c printf size-t c89 c-libraries
我们在嵌入式平台上使用C89.我试图打印出来size_t
,但它不起作用:
#include <stdio.h>
int main(void) {
size_t n = 123;
printf("%zu\n",n);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
而不是123
,我得到了zu
.
其他说明符正常工作.
如果size_t
存在不应该 zu
也可用printf
?
这是我应该联系我的图书馆供应商的事情,还是允许排除它的图书馆实施?
P.P*_*.P. 11
如果size_t存在不应该在printf中也可用zu?
size_t
至少从C89开始存在但是相应的格式说明符%zu
(特别是长度修饰符z
)仅在C99之后被添加到标准中.
因此,如果您不能使用C99(或C11)并且必须使用size_t
C89 进行打印,则只需要回退到其他现有类型,例如:
printf("%lu\n", (unsigned long)n);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17017 次 |
最近记录: |