C中printf的标准定义是什么?

Pea*_*l89 3 c

printf()标准C库中定义的函数的函数定义是什么?

我需要定义来解决以下问题:

给出以下输出:

int main()
{
   int a = 2;
   int b = 5;
   int c = 10;
   printf("%d ",a,b,c);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

Ada*_*eld 10

C语言标准声明printf如下:

int printf(const char *format, ...);
Run Code Online (Sandbox Code Playgroud)

它返回一个整数,并获取指向常量字符的指针的第一个参数和任意类型的任意数量的后续参数.

如果您传递的参数多于传入的格式字符串所需的参数,则会忽略额外的参数(尽管仍会对它们进行求值).根据C89标准§4.9.6.1:

如果格式的参数不足,则行为未定义.如果参数保留时格式已用尽,则会评估多余的参数(一如既往),否则将被忽略.