Default values on arguments in C functions and function overloading in C

前端 未结 9 2058
再見小時候
再見小時候 2020-12-09 09:46

Converting a C++ lib to ANSI C and it seems like though ANSI C doesn\'t support default values for function variables or am I mistaken? What I want is something like

9条回答
  •  攒了一身酷
    2020-12-09 10:02

    Try this.

    #include 
    #include 
    
    /* print all non-negative args one at a time;
       all args are assumed to be of int type */
    void printargs(int arg1, ...)
    {
      va_list ap;
      int i;
    
      va_start(ap, arg1); 
      for (i = arg1; i >= 0; i = va_arg(ap, int))
        printf("%d ", i);
      va_end(ap);
      putchar('\n');
    }
    
    int main(void)
    {
       printargs(5, 2, 14, 84, 97, 15, 24, 48, -1);
       printargs(84, 51, -1);
       printargs(-1);
       printargs(1, -1);
       return
    
     0;
    }
    

提交回复
热议问题