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; }
时间: 2024-10-31 10:31:46