#include <stdio.h>
#include <stdarg.h>
#if 1
/*
*在C語言中,可變參函數是指參數數量不固定的函數,比如printf\scanf
*可變參函數的語法:
*返回類型 函數名(固定函數,.....)
{
//函數體
}
*1、包含頭文件 #include <stdio.h>
*2.定義函數:固定參數在前,可變參在后
*3.至少有一個固定參數
*4.va list:聲明參數列表變量的類型,用于訪問可變參列表
*5.va start:初始化參數列表
*6.va arg:獲取可變參數
*7.va end:清理釋放參數列表相關資源
*/
int mySum(int n,...)
{
//聲明參數列表變量
va list args;
//初始化,且定位到第一個可變參數
va start(args,n);
int sum=0;
int i=0;
for(i=0;i<n;i++)
{
sum+=va arg(args,int);
}
va end(args);
return sum;
}
int main()
{
int n=5;
int ret=mySum(n,1,2,3,4,5);
printf("sum=%d\n",ret);
return 0;
}
#endif