C--可變參數的使用

第一種方法實現求平均:

#include <stdio.h>

float average(int array[], int size)
{
int i = 0;
float avr = 0;

for(i=0; i<size; i++)
{
    avr += array[i];
}

return avr / size;

}

int main()
{
int array[] = {1, 2, 3, 4, 5};

printf("%f\n", average(array, 5));

return 0;

}

改進方法:
#include <stdio.h>
#include <stdarg.h>

float average(int n, …)
{
va_list args;
int i = 0;
float sum = 0;

va_start(args, n);

for(i=0; i<n; i++)
{
    sum += va_arg(args, int);
}

va_end(args);

return sum / n;

}

int main()
{
printf("%f\n", average(5, 1, 2, 3, 4, 5));
printf("%f\n", average(4, 1, 2, 3, 4));

return 0;

}

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