请教一个多参数的问题
各位大师好,向你们请教一个多参数函数的问题,此程序功能是自动判断所输入的参数的类型和个数并加总,程序如下,但程序运行后的结果不对,请各位指点一下,这个程序是哪个地方出问题了,不胜感激。#include<stdio.h>
#include<stdarg.h>
double add_values(char *str ...)
{
va_list marker;
double result = 0.0;
va_start(marker, str);
while (*str)
{
if (*str == '%')
{
switch (*(++str))
{
case 'd': result += va_arg(marker, int);
break;
case 'f': result += va_arg(marker, float);
break;
}
}
str++;
}
va_end(marker);
return(result);
}
void main(void)
{
double result;
printf("Result %f\n", add_values("%f", 3.3));
printf("Result %f\n", add_values("%f %f", 1.1, 2.2));
printf("Result %f\n", add_values("%f %d %f %d", 1.1, 2, 3.3, 4"));
}