zoukankan      html  css  js  c++  java
  • C 可变参数(C与指针实例)

    偶尔我们需要设计一些函数,它们的参数数目不是固定的,这样我们需要用到可变参数列表。

    可变参数列表是通过宏来实现的,定义于stdarg.h头文件。

    具体内容在《C与指针》

     1 #include <stdarg.h>
     2 #include <stdio.h>
     3 
     4 float average(int n_values, ... )
     5 {
     6     va_list var_arg; //用于访问参数列表的未确定部分,通过va_start来初始化
     7     int count;
     8     float sum = 0;
     9 
    10     /*
    11         准备访问可变参数
    12      */
    13     va_start( var_arg, n_values );  //第一个参数为va_list变量的名字,第二个参数为省略号前最后一个有名字的参数。初始化过程把va_list变量设置为指向可变参数的第一个参数
    14     
    15     /*
    16         添加取自可变参数列表的值
    17      */
    18     for( count = 0; count < n_values; count += 1 )
    19     {
    20         sum += va_arg( var_arg, int );  //可变参数必须从头到尾顺序逐个访问。在va_arg中注意不可以指定错误的类型。
    21     }
    22 
    23     /*
    24         完成处理可变参数
    25      */
    26     va_end( var_arg );
    27 
    28     return sum / n_values;
    29 }
    30 
    31 int main()
    32 {
    33     int a = average(1012345678910);
    34     printf("The average: %d ", a);
    35     return 0;
    36 }
  • 相关阅读:
    day04作业
    一个简单的gridlayout栗子
    用户名、密码等15个常用的js正则表达式
    html 颜色
    心态好的人,一辈子都好
    怎么样好好的聊天呢
    一篇引用文章
    再见,发微信不回的人
    第一个不怎么正经的网页
    关于学科目标
  • 原文地址:https://www.cnblogs.com/alan-forever/p/3290274.html
Copyright © 2011-2022 走看看