<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    C語言中實現(xiàn)可變參數(shù)函數(shù)

    Posted on 2007-08-31 17:06 dennis 閱讀(525) 評論(0)  編輯  收藏 所屬分類: linux & C
        通過stdarg.h頭文件為函數(shù)提供了定義可變參數(shù)列表的能力。聲明一個可變參數(shù)的函數(shù)類似:
    void f1(int n,...);

    其中n表示參數(shù)列表個數(shù),而用省略號來表示未知參數(shù)列表。stdarg.h中提供了一個va_list類型,用于存放參數(shù)。一個大概的使用過程類似:
    void f1(int n,...)
    {
       va_list ap;
       va_start(ap,n);   //初始化參數(shù)列表
       double first=va_arg(ap,double);  //取第一個參數(shù)
       int second=va_arg(ap,int);   //取第二個參數(shù)
       ...
       va_end(ap);  //清理工作
    }
    看一個求和的例子:
    #include<stdio.h>
    #include
    <stdarg.h>
    double sum(int ,);
    int main(void)
    {
      
    double s,t;
      s
    =sum(3,1.1,2.2,13.3);
      t
    =sum(6,1.1,2.1,13.1,4.1,5.1,6.1);
      printf(
    "return value for "  \
        
    "sum(3,1.1,2.2,13.3):   %g\n",s);
      printf(
    "return value for " \
        
    "sum(6,1.1,2.1,13.1,4.1,5.1,6.1):    %g\n",t);
      
    return 0;
    }
    double sum(int lim,)
    {
      va_list ap;
      
    double total=0;
      va_start(ap,lim);
      
    int i;
      
    for(i=0;i<lim;i++)
          total
    +=va_arg(ap,double);
      va_end(ap);
      
    return total;
    }

    C語言對可變參數(shù)的使用還是有點(diǎn)麻煩,不如ruby和java簡便。比如ruby中定義并使用可變參數(shù)參數(shù):
    def sum(*e)
       e.inject{|sum,i| sum+=i}
    end

    sum(1,2,3,4,5)=>15
      

    主站蜘蛛池模板: 久久久久久亚洲精品无码| 一级特黄录像视频免费| 免费a在线观看播放| 一级毛片一级毛片免费毛片| 亚洲AV无码一区二区乱子伦| 在线永久免费的视频草莓| 精品免费AV一区二区三区| 亚洲AV综合色区无码另类小说| 免费H网站在线观看的| 在线亚洲v日韩v| 亚洲高清在线视频| 国产精品国产免费无码专区不卡 | 亚洲夜夜欢A∨一区二区三区| 最近中文字幕大全免费视频| 疯狂做受xxxx高潮视频免费| 亚洲av福利无码无一区二区| 大陆一级毛片免费视频观看 | 国产好大好硬好爽免费不卡| 亚洲一线产品二线产品| 国产精品亚洲аv无码播放| 成人免费在线观看网站| 日本免费中文字幕| 国产亚洲综合久久| 亚洲国产综合在线| 亚洲精品无码高潮喷水在线| 日本免费人成黄页在线观看视频| 久草视频在线免费看| 暖暖免费中文在线日本| 一区二区亚洲精品精华液| 亚洲一区二区中文| 中文字幕亚洲无线码| 国产男女猛烈无遮档免费视频网站| 最近免费2019中文字幕大全| 久久久精品国产亚洲成人满18免费网站 | 亚洲乱色伦图片区小说| 亚洲色偷偷偷网站色偷一区| 久久综合亚洲色HEZYO国产| 蜜桃精品免费久久久久影院| 四虎成年永久免费网站| 麻豆精品不卡国产免费看| 老外毛片免费视频播放|