C和指针之函数之求参数列表中的最大值

举报
chenyu 发表于 2021/07/27 01:21:54 2021/07/27
【摘要】 1、问题  *编写一个叫max_list函数,它用于检查任意数目的整形参数  *并返回他们中的最大值,参数列表必须以一个负数结尾,提  *示列表的结束             2、代码实现 #include &lt...

1、问题

 *编写一个叫max_list函数,它用于检查任意数目的整形参数
 *并返回他们中的最大值,参数列表必须以一个负数结尾,提
 *示列表的结束
 
 
 
 
 
 

2、代码实现


   
  1. #include <stdio.h>
  2. #include <stdarg.h>
  3. /**
  4. *编写一个叫max_list函数,它用于检查任意数目的整形参数
  5. *并返回他们中的最大值,参数列表必须以一个负数结尾,提
  6. *示列表的结束
  7. */
  8. int max_arg(int first, ...)
  9. {
  10. //指向参数栈
  11. va_list va_arg;
  12. //初始化
  13. va_start(va_arg, first);
  14. //获取第一个参数的值
  15. int value = va_arg(va_arg, int);
  16. int max = first;
  17. while (value > 0)
  18. {
  19. if (value > max)
  20. max = value;
  21. value = va_arg(va_arg, int);
  22. }
  23. va_end(va_arg);
  24. return max;
  25. }
  26. int main()
  27. {
  28. int max = max_arg(2, 3, 5, 4, 1, -1, 7);
  29. printf("max_arg is %d\n", max);
  30. }

 
 

 


3、运行结果


   
  1. 1111deMacBook-Pro:dabian a1111$ gcc -g max_list.c -o max_list
  2. 1111deMacBook-Pro:dabian a1111$ ./max_list
  3. max_arg is 5

 
 

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/78484085

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。