gpt4 book ai didi

c - 如何在 C 中的用户定义函数中传递任意数量的参数?

转载 作者:太空狗 更新时间:2023-10-29 15:25:20 24 4
gpt4 key购买 nike

我如何在C中的用户定义函数中传递任意数量的参数?该函数的原型(prototype)是什么?它类似于可以接受任意数量参数的printf。

最佳答案

here举个例子。

#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>

int maxof(int, ...) ;
void f(void);

main(){
f();
exit(EXIT SUCCESS);
}

int maxof(int n args, ...){
register int i;
int max, a;
va_list ap;

va_start(ap, n args);
max = va_arg(ap, int);
for(i = 2; i <= n_args; i++) {
if((a = va_arg(ap, int)) > max)
max = a;
}

va_end(ap);
return max;
}

void f(void) {
int i = 5;
int j[256];
j[42] = 24;
printf("%d\n",maxof(3, i, j[42], 0));
}

关于c - 如何在 C 中的用户定义函数中传递任意数量的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1177773/

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