%f格式在printf()中代表什么

时间:2019-02-25 05:10:30

标签: c

%qu代表printf()格式。 知道%u是未签名的,%qu从未遇到过。当谷歌搜索找到除%qu

以外的所有其他格式

2 个答案:

答案 0 :(得分:4)

这不是标准的,在某些Unix(主要是BSD)中使用它表示无符号四字(64位)。因此,q作为类型修饰符,就像l一样。

答案 1 :(得分:2)

从C具有long long类型开始,这是不应该使用的古老BSDism。从FreeBSD man page for printf中,您可以看到,至少在FreeBSD上,它对应于非标准类型u_quad_t,并且已被标记为已弃用。我不确定是否将u_quad_t正式指定为unsigned long long,但是可移植替换使用的是ll类型的unsigned long long修饰符,还是使用{{1 }}类型为PRIu64的宏。