#include <iostream.h> #include "stdarg.h" int sum(int a,...) { if (a<=0) { return 0; } va_list arg_ptr; va_start(arg_ptr,a); int sum = 0; for (int i=0;i<a;i++) { sum += va_arg(arg_ptr,int); } va_end(arg_ptr); return sum; } int main(int argc, char* argv[]) { cout<<sum(0,2,3,4,5,6,7,8,9,10,11)<<endl; cout<<sum(1,2,3,4,5,6,7,8,9,10,11)<<endl; cout<<sum(2,2,3,4,5,6,7,8,9,10,11)<<endl; cout<<sum(3,2,3,4,5,6,7,8,9,10,11)<<endl; cout<<sum(4,2,3,4,5,6,7,8,9,10,11)<<endl; cout<<sum(5,2,3,4,5,6,7,8,9,10,11)<<endl; cout<<sum(6,2,3,4,5,6,7,8,9,10,11)<<endl; cout<<sum(7,2,3,4,5,6,7,8,9,10,11)<<endl; cout<<sum(8,2,3,4,5,6,7,8,9,10,11)<<endl; cout<<sum(9,2,3,4,5,6,7,8,9,10,11)<<endl; cout<<sum(19,2,3,4,5,6,7,8,9,10,11)<<endl; printf("Hello World!/n"); return 0; }
下面是输出的:
0
2
5
9
14
20
27
35
44
54
-21222322323322