浏览github代码时,我看到了格式说明符%qd。然后我检查了GCC编译器,它工作正常。

#include <stdio.h>

int main()
{
    long long num = 1;
    printf("%qd\n", num);
    return 0;
}
%qd中的格式说明符printf()的目的是什么?

最佳答案



在广泛使用ISO C99扩展之前,存在几种针对平台的长度选项,q是其中之一。它用于整数类型,这会使printf期望使用64位(四字)整数参数。它通常在BSD平台中找到。
但是,C99和C11都未提及长度修饰符qfprintf()的macOS(BSD)手册页将q标记为已弃用。因此,建议使用ll代替q
引用:
https://gcc.gnu.org/ml/gcc-bugs/1999-02n/msg00166.html
https://en.wikipedia.org/wiki/Printf_format_string
https://port70.net/~nsz/c/c11/n1570.html#7.21.6.1p7

关于c - “%qd”中的格式说明符 `printf()`的用途是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50830312/

10-09 22:44