c – 传递可变数量的参数

前端之家收集整理的这篇文章主要介绍了c – 传递可变数量的参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们可以将可变数量的参数传递给c中的函数吗?

解决方法

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));
}
原文链接:https://www.f2er.com/c/111965.html

猜你在找的C&C++相关文章