gpt4 book ai didi

c - sizeof() 运算符的格式说明符

转载 作者:行者123 更新时间:2023-11-30 20:10:17 25 4
gpt4 key购买 nike

answered一个question ,如果您使用错误的格式说明符,那么您的代码的行为是未定义的。

在这个问题中,OP 使用了 %lu sizeof 的格式说明符运算符。

printf("%lu \n", sizeof(*"327"));

但是,我收到了一些评论,%lu该代码不是 UB。

那么,sizeof(*"327") 是这样吗? ?

最佳答案

sizeof 运算符返回 size_t 类型。该类型的正确格式说明符是 %zu

如果您使用 %lu 打印 size_t,它可能会也可能不会起作用,具体取决于 size_t 是否大于一个。如果 size_t 更大,则行为未定义,否则行为已明确定义。当然,您无法真正确定。

最好使用特定于该类型的正确格式说明符。

关于c - sizeof() 运算符的格式说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46729692/

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