#include
<
stdio.h
>
//
重要引用
#include
<
stdarg.h
>
void
sum(
char
*
msg,...);
int
main(
int
argc,
char
*
argv[])
{
sum(
"
The total of 1+2+3+4 is %d\n
"
,
1
,
2
,
3
,
4
,
0
);
//
最后的0作为sum函数循环跳出标识
return
0
;
}
void
sum(
char
*
msg,...)
{
int
total
=
0
;
va_list ap;
int
arg;
va_start(ap,msg);
while
((arg
=
va_arg(ap,
int
))
!=
0
)
//
0跳出标识
{
//
循环获得参数值
total
+=
arg;
}
printf(msg,total);
va_end(ap);
}