c – 传递可变数量的参数

前端之家收集整理的这篇文章主要介绍了c – 传递可变数量的参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们可以将可变数量的参数传递给c中的函数吗?

解决方法

Here就是一个例子:
  1. #include <stdlib.h>
  2. #include <stdarg.h>
  3. #include <stdio.h>
  4.  
  5. int maxof(int,...) ;
  6. void f(void);
  7.  
  8. main(){
  9. f();
  10. exit(EXIT SUCCESS);
  11. }
  12.  
  13. int maxof(int n args,...){
  14. register int i;
  15. int max,a;
  16. va_list ap;
  17.  
  18. va_start(ap,n args);
  19. max = va_arg(ap,int);
  20. for(i = 2; i <= n_args; i++) {
  21. if((a = va_arg(ap,int)) > max)
  22. max = a;
  23. }
  24.  
  25. va_end(ap);
  26. return max;
  27. }
  28.  
  29. void f(void) {
  30. int i = 5;
  31. int j[256];
  32. j[42] = 24;
  33. printf("%d\n",maxof(3,i,j[42],0));
  34. }

猜你在找的C&C++相关文章