1.使用可变参数列表实现任意个数求平均值。
#include<stdio.h>
#include<stdarg.h>
float average(int val,...)
{
int i=0;
float sum=0.0;
float ave=0.0;
va_list arg;
va_start(arg,val);
for(i=0;i<val;i++)
{
sum+=va_arg(arg,int);
}
va_end(arg);
ave=sum/val;
return ave;
}
int main()
{
float ret=0;
ret=average(4,2,4,2,9);
printf("%f\n",ret);
return 0;
}2.使用可变参数列表实现print("s\tc\n","bit-tech",‘w‘);
#include<stdio.h>
#include<stdarg.h>
void print(char *format,...)
{
char ch;
char *pch;
va_list arg;
va_start(arg,format);
while(*format)
{
switch(*format)
{
case ‘c‘:
{
ch=va_arg(arg,char);
putchar(ch);
break;
}
case ‘s‘:
{
pch=va_arg(arg,char*);
while(*pch)
{
putchar(*pch);
pch++;
}
break;
}
default :
{
putchar(*format);
break;
}
}
format++;
}
va_end(arg);
}
int main()
{
print("^^^^s 5362c ****s\n","bhbv",‘o‘,"piu");
return 0;
}本文出自 “sunshine225” 博客,请务必保留此出处http://10707460.blog.51cto.com/10697460/1754033
原文地址:http://10707460.blog.51cto.com/10697460/1754033