浏览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都未提及长度修饰符q
。 fprintf()
的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/