我写了这个函数来计算一些浮点数的平均值。但是它在“平均”函数的最后一行出现运行时错误。它有什么问题?
#include <stdarg.h>
#include <stdio.h>
float average(float first , ...)
{
int count = 0;
float sum = 0 , i = first;
va_list marker;
va_start(marker , first);
while(i != -1)
{
sum += i;
count++;
i = va_arg(marker , float);
}
va_end(marker);
return(sum ? (sum / count) : 0);
}
int main(int argc , char* argv[])
{
float avg = average(12.0f , 34.0f);
printf("The average is : %f\n" , avg);
scanf("a\n");
}