Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C printf()函数中的参数列表是什么?_C - Fatal编程技术网

C printf()函数中的参数列表是什么?

C printf()函数中的参数列表是什么?,c,C,可能重复: 我知道每个函数都有一个参数列表。 如果我们传递的参数多于参数列表中提到的变量数量,那么 这是一个错误,但我的问题是 Printf()函数也有参数列表,即使我们给出了“n”个参数 printf()函数不会失败 我想知道printf()的参数列表部分将使用什么?关键字是可变参数,它们是用…声明的关键字是可变参数,它们是用…声明的printf是一个“可变”函数。这意味着参数列表在末尾用..声明,在printf的实现中,va_list,va_start,va_arg等宏用于从可变长度列表中

可能重复:

我知道每个函数都有一个参数列表。 如果我们传递的参数多于参数列表中提到的变量数量,那么 这是一个错误,但我的问题是

Printf()函数也有参数列表,即使我们给出了“n”个参数 printf()函数不会失败


我想知道printf()的参数列表部分将使用什么?

关键字是可变参数,它们是用…

声明的关键字是可变参数,它们是用…

声明的printf是一个“可变”函数。这意味着参数列表在末尾用
..
声明,在printf的实现中,
va_list
va_start
va_arg
等宏用于从可变长度列表中提取参数。

printf是一个“可变”函数。这意味着参数列表在末尾用
..
声明,在printf的实现中,
va_列表
va_开始
va_arg
等宏用于从可变长度列表中提取参数。

printf的签名如下:

int printf ( const char * format, ... );
如果函数的最后一个参数是“…”,则它可以接收任意数量的参数。在函数中,可以使用va_arg访问这些参数。以下是一个例子:

/*va_开始示例*/
#包括
#包括
无效打印浮动(整数金额,…)
{
int i;
双val;
printf(“通过的浮动:”);
va_列表vl;
va_开始(vl,金额);

对于(i=0;iprintf,其签名如下所示:

int printf ( const char * format, ... );
如果函数的最后一个参数为“…”,则它可以接收任意数量的参数。在该函数中,您可以使用va_arg访问这些参数。以下是以下示例:

/*va_开始示例*/
#包括
#包括
无效打印浮动(整数金额,…)
{
int i;
双val;
printf(“通过的浮动:”);
va_列表vl;
va_开始(vl,金额);

对于(i=0;i浏览“c变量数量参数”并查看
-1研究成果。StackOverflow不是google的机械土耳其人替代品。如果你用谷歌搜索你的问题标题,你就会得到答案。你只需在发布此问题之前用谷歌搜索一下即可!!谷歌“c变量数量参数”请查看
-1研究成果。StackOverflow不是google的机械turk替代品。如果你用谷歌搜索你的问题标题,你就会得到答案。你可以在这里发布这个问题之前用谷歌搜索它!!(从技术上讲,参数列表不是无限的-它受到堆栈大小的限制。)(另外,从技术上讲,参数列表不是无限的——它受到堆栈大小的限制。)你是打算完成这项工作,还是我们继续往下投票,因为它不能令人信服地回答问题。这项工作已经完成,请随意往下投票。我认为网络上有很多关于关键词变量参数的解释,不需要在这里重复这些解释-这就是为什么我保持我的答案简短。-1如果发布不完整答案的理由是
网络上有很多解释
,那么你不应该费心回答。如果你想发布答案,最好是正确和完整的。我尊重你的意见,但对完整性有不同意见。顺便说一句,我希望你不要使用终端“…”在我的回答中,他们引用了“void foo(…)”中的.既然你觉得有必要解释一下你的答案中的
代表什么,那么它就证明了你的答案的完整性。你是打算完成这项工作,还是我们应该继续往下投,因为它并不能令人信服地回答问题。答案是完整的,请随意往下投。我认为有p网络上对关键词变量参数的解释太多了,不需要在这里重复-这就是为什么我的答案很简短。-1如果发布不完整答案的理由是
网络上有很多解释
,那么你不应该费心回答。如果你想发布答案,最好是正确的d完成。我尊重你的意见,但对完整性有不同意见。顺便说一句,我希望你不要把我答案的结尾“…”作为省略号,他们引用了“void foo(…)”中的.由于您觉得有必要对您的答案中的
代表的含义进行解释,因此它证明了答案的完整性。