/*省略参数:用省略号…表示, 省略号出现的地方可以有任意个任意类型的参数。例如常用的printf函数:
int printf (const char *format, …) ; */
#include <iostream>
#include <cstdio>
using namespace std;
long sum(int n, ...)
{
long s = 0;
int *p = &n +1; //p指向第一个省略参数
cout << "*p="<<*p<<endl;
for(int k = 0;k < n;k++)
{
s += p[k];
cout << "p"<<"["<<k<<"]"<<"="<<p[k]<<"s="<<s<<endl;
}
return s;
}
int main()
{
int a =4;
long s = sum (3,a,2,3);
cout << s<<endl;
return 0;
}
运行结果:
*p=4
p[0]=4 s=4
p[1]=2 s=6
p[2]=3 s=9
9
请按任意键继续. . .