gpt4 book ai didi

c - 如何在 C 中打印函数参数?

转载 作者:行者123 更新时间:2023-11-30 14:47:26 29 4
gpt4 key购买 nike

我知道这个问题已被问过很多次,但抱歉,我找不到答案。下面是一个带参数的函数(有多少个参数未知)。如何获取所有参数然后打印它们?

int func(int a, int b, ...) {
// print the parameters
}

最佳答案

简短的回答是“你不知道”。 C 没有给你任何机制来知道参数何时结束。

如果你想使用可变参数,你需要给自己一个机制来告诉你有多少个参数,以及每个参数有多大。举一个最著名的例子,printf() 要求它的第一个参数是一个格式化字符串,它告诉它有关可变参数及其大小的信息。

如果您知道所有参数的大小相同(例如,整数),则可以设计例程,使第一个参数是参数的数量,如下所示:

void
my_func (int n_args, ...)
{
va_list ap;
int i;

va_start(ap, n_args);
for (i = 0 ; i < n_args ; i++) {
process(va_arg(ap, int));
}
va_end(ap);
}

关于c - 如何在 C 中打印函数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51254865/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com