ALLTYPES.C
资源名称:C.rar [点击查看]
上传用户:qq5388545
上传日期:2022-07-04
资源大小:29849k
文件大小:1k
源码类别:

界面编程

开发平台:

C/C++

  1. #include <stdio.h>
  2. #include <stdarg.h>
  3. double add_values(char *str, ...)
  4. {
  5.     va_list marker;
  6.     
  7.     double result = 0.0;
  8.     va_start(marker, str);  /* mark first additional argument */
  9.     while (*str)            /* examine each character in the string */
  10.       {
  11. if (*str == '%')    /* if not a %_ format specifier, skip it */
  12.   {
  13.     switch (*(++str)) {
  14. case 'd': result += va_arg(marker, int);
  15.   break;
  16. case 'f': result += va_arg(marker, double);
  17.   break;
  18.       }
  19.   }
  20. str++;
  21.       }
  22.    
  23.    va_end(marker);
  24.    return(result);
  25.  }
  26.  
  27. void main(void)
  28.  { 
  29.    double result;
  30.    printf("Result %fn", add_values("%f", 3.3));
  31.    printf("Result %fn", add_values("%f %f", 1.1, 2.2));
  32.    printf("Result %fn", add_values("%f %d %f", 1.1, 1, 2.2));
  33.    printf("Result %fn", add_values("%f %d %f %d", 1.1, 1, 2.2, 3));
  34.  }