用实例告诉你怎么自己写未知变量的函数
第一个实例:#include <stdio.h>
#include <Windows.h>
#include<tchar.h>
int sum(int number,...)
{
va_list argList;
int i;
int sum1 = 0;
va_start(argList,number);
for(i=0; i<number;i++)
{
sum1 += va_arg(argList,int);
}
va_end(argList);
return sum1;
}
int main(void)
{
int k = 0;
k = sum(3,1,2,3);
printf("%d\n",k);
system("pause");
return 0;
}
运行结果:
实例二:
#include <stdio.h>
#include <Windows.h>
#include<tchar.h>
void print (char *str1,...)
{
va_list argList ;
int sum = 0;
va_start (argList,str1);
sum = va_arg(argList,int );
printf("%d\n",sum);
sum = va_arg(argList,int );
printf("%d\n",sum);
sum = va_arg(argList,int );
printf("%d\n",sum);
return;
}
int main(void)
{
int a=1,b=2,c=3;
print("",a,b,c);
system("pause");
return 0;
}
运行结果:
实例三:
#include<stdio.h>
#include <stdarg.h>
#include <windows.h>
#define bufsize 80
char buffer;
int vspf(char *fmt, ...)
{
va_list argptr;
int cnt;
va_start(argptr, fmt);
cnt = vsnprintf(buffer,bufsize ,fmt, argptr);
va_end(argptr);
return(cnt);
}
int main(void)
{
int inumber = 30;
float fnumber = 90.0;
char string = "abc";
vspf("%d %f %s", inumber, fnumber, string);
printf("%s\n", buffer);
system("pause");
return 0;
}
运行结果:
为什么要跳成黄色,,,,,和小太阳有关吗~~~ hacker.jin 发表于 2015-1-9 15:56
为什么要跳成黄色,,,,,和小太阳有关吗~~~
{:9_240:}因为我比较喜欢黄颜色。嘻嘻 个人癖好。 {:7_139:}可变数目参数,泡泡的C语言好厉害哦~ 拈花小仙 发表于 2015-1-9 16:13
可变数目参数,泡泡的C语言好厉害哦~
{:5_100:} 看《Programming Windows》的时候碰到过这种例子,感谢楼主分享。 {:1_1:} 这是什么东西
页:
[1]