本文共 421 字,大约阅读时间需要 1 分钟。
参数个数可变的函数(有点意思) 宏 va_start va_arg va_end //求任意个数的平均数 #include<stdio.h> #include<stdarg.h> int average(int a,int b,...) { va_list parg; int sum = a + b; int value = 0; int count = 2; va_start(parg,b); //从b之后的参数开始开始 while ((value = va_arg(parg, int))!= -1) //当指针移到参数-1时终止循环 { printf("%d\n", value); sum += value; count++; } va_end(parg); return sum / count; } int main(void) { printf("%d\n", average(1,2,3,-1)); return 0; }转载地址:http://vidaf.baihongyu.com/