转换说明符%ju

sev*_*ine 6 c printf scanf

在下面的页面中,我发现了代码

CERT INT15-C对程序员定义的整数类型使用intmax_t或uintmax_t作为格式化IO

uintmax_t temp;

if(scanf("%ju", &temp) != 1) {
   ...
Run Code Online (Sandbox Code Playgroud)

我不熟悉"%ju"说明符.我没有成功找到互联网上"%ju"的解释.

这是由某些特定的编译环境定义的,还是一般使用的?

jwo*_*der 8

%ju只是%u带有j长度修饰符的(无符号)格式,后者在C99标准中定义为:

j-规格音响ES出跟随的d,i,o,u,x,X,或n转换说明适用于具有类型指针的参数intmax_tuintmax_t.