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

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

1、问题

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

2、代码实现


       #include <stdio.h>
       #include <stdarg.h>
       /**
        *编写一个叫max_list函数,它用于检查任意数目的整形参数
        *并返回他们中的最大值,参数列表必须以一个负数结尾,提
        *示列表的结束
        */
       int max_arg(int first, ...)
       {
        //指向参数栈
        va_list va_arg;
        //初始化
        va_start(va_arg, first);
        //获取第一个参数的值
        int value = va_arg(va_arg, int);
        int max = first;
        while (value > 0)
        {
        if (value > max)
        max = value;
        value = va_arg(va_arg, int);
        }
        va_end(va_arg);
        return max;
       }
       int main()
       {
          int max = max_arg(2, 3, 5, 4, 1, -1, 7);
          printf("max_arg is %d\n", max);
       }
   
  

 
 

 


3、运行结果


       1111deMacBook-Pro:dabian a1111$ gcc -g max_list.c -o max_list
       1111deMacBook-Pro:dabian a1111$ ./max_list
       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个月内不可修改。