c++中如何寫引數不定的函式
阿新 • • 發佈:2019-02-05
#include "stdio.h"
#include "stdarg.h"
void simple_va_fun(int start, ...)
{
va_list arg_ptr;
int nArgValue =start;
int nArgCout=0; //可變引數的數目
va_start(arg_ptr,start); //以固定引數的地址為起點確定變參的記憶體起始地址。
do
{
++nArgCout;
printf("the %d th arg: %d",nArgCout,nArgValue); //輸出各引數的值
nArgValue = va_arg(arg_ptr,int); //得到下一個可變引數的值
} while(nArgValue != -1);
return;
}
int main(int argc, char* argv[])
{
simple_va_fun(100,-1);
simple_va_fun(100,200,-1);
return 0;
}
#include "stdarg.h"
void simple_va_fun(int start, ...)
{
va_list arg_ptr;
int nArgValue =start;
int nArgCout=0; //可變引數的數目
va_start(arg_ptr,start); //以固定引數的地址為起點確定變參的記憶體起始地址。
do
{
++nArgCout;
printf("the %d th arg: %d",nArgCout,nArgValue); //輸出各引數的值
nArgValue = va_arg(arg_ptr,int); //得到下一個可變引數的值
} while(nArgValue != -1);
return;
}
int main(int argc, char* argv[])
{
simple_va_fun(100,-1);
simple_va_fun(100,200,-1);
return 0;
}