可變長參數示例

#include
#include<stdarg.h>
int max(int cnt,...)
{
        va_list v;//v保存可變長參數表 va_list是一個類型
        va_start(v,cnt);//用v保存參數cnt之後的那些參數


        int i;
        int max = va_arg(v,int);//從參數表中取出一個int類型的參數
        for(i = 1;i<cnt;i++)
        {
                int data = va_arg(v,int);
                if(data>max)
                        max = data;
        }
        va_end(v);//釋放可變量參數表v
        return max;
}


void Printchar(int cnt,...)
{
        va_list v;
        va_start(v,cnt);
        int i;
        for(i = 0;i<cnt;i++)
        {
                                       printf("%c",va_arg(v,int));//char ,short會提升成int float=>double
        }
        printf("\n");
        va_end(v);


}


void Printstring(int cnt,...)
{
        va_list v;
        va_start(v,cnt);
        int i;
        for(i = 0;i<cnt;i++)
        {
                printf("%s\n",va_arg(v,char*));


        }
        va_end(v);
}

   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章