码迷,mamicode.com
首页 > 其他好文 > 详细

变长参数表

时间:2014-10-29 18:54:31      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:io   os   ar   for   sp   文件   数据   art   bs   

//变长参数表.cpp

#include<iostream>
#include<cstdarg>//标准头文件,提供宏va_start,va_arg和va_end,用于存取变长参数表

typedef int ElemType;
using namespace std;

ElemType MaxSeek(int num,...);
int  main ()
{
    cout<<"最大值为"<<MaxSeek(4,5,2,0,36)<<endl;
    cout<<"最大值为"<<MaxSeek(5,2,2,10,85,1000)<<endl;
    return 0;
}
ElemType MaxSeek(int num,...)
{  //函数功能: 返回num个数的最大值
    va_list ap;//定义ap是变长参数表类型(c语言的数据类型)
    int  i;
    ElemType max,n;
    if(num<1)
        return 0;
    va_start(ap,num);//这样做,可以使ap后移,可以使它指向固定参数ap后面的实参
    max = va_arg(ap,ElemType);//使p指向第一个可变实参,采用擂台算法
    for(i = 1;i<num;i++)
    {
        n = va_arg(ap,ElemType);
        if(max<n)
            max=n;
    }
    va_end (ap);//与va_start匹配,结束对变长参数表的读取,ap不再指向任何参数表
    return max;
}

变长参数表

标签:io   os   ar   for   sp   文件   数据   art   bs   

原文地址:http://www.cnblogs.com/tabe/p/4060190.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!