可变参数的使用(法二)

//02.可变参数的使用方式二:
//  1.不采用可变参数前置参数作为读取结束条件,而是按照可变参数列表的结束特点进行读取
//  2.不定长可变参数列表的使用特点:
//      (1).引入头文件:
//          #include <stdarg.h>//支持可变参数列表的使用
//      (2).函数声明特点:
//          void vatest(int start, ...);//可变参数列表的函数声明
//          va_list argp;//存储可变参数列表的首地址(类似于数组原理)
//          vastart(argp, start);//暂定可变参数列表当中参数的读取个数
//          int argvalue = start;//确定可变参数列表的首个参数
//          do
//          {
//              int value=argvalue;//使用可变参数列表当中的数据
//              argvalue = va_arg(argp, int);//不断的按照指定类型进行读取
//          }while(argvaue != -1);
//          va_end(argp);结束读取
#include<iostream>
#include <stdlib.h>
#include <stdarg.h>//标准参数:模拟可变参数必需的头文件
using namespace std;
void showint(int start, ...)
{
	va_list argp;//存储参数开始的地址
	va_start(argp, start);//从首地址开始读取数据,暂定为读取start个数据
	int argvalue = start;//第一步初始化
	do
	{
		cout << argvalue << endl;
		argvalue = va_arg(argp, int);//不断读取
	} while (argvalue != -1);
	va_end(argp);//结束读取
}

int main()
{
	//showint(1, 2, 3, 4, -1);
	showint(1, 2, 3, 4, 5, -1);

	system("pause");
}

posted @ 2017-03-12 11:36  乐天的java  阅读(32)  评论(0)    收藏  举报