C语言函数返回值

本文展示了如何在C语言中通过指针参数让函数同时返回多个值。通过示例函数`fun01`和`fun02`寻找数组中的最大值和最小值,以及`fun`函数同时更新最大值和最小值的指针,说明了如何在不使用return语句多次返回的情况下,实现返回多个值的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    函数通常可以通过return返回一个值,但是,只能返回一个值。
    有时候需要函数同时返回多个值,可以通过传地址返回多个值
    
    例如: 

    int fun01(int n,int a[])
    {
        int max = a[0];
        int i;

        for(i = 1; i < n; i++)
            if(max < a[i])
                max = a[i];
        
        return max;
    }
    int fun02(int n,int a[])
    {
        int min = a[0];
        int i;

        for(i = 1; i < n; i++)
            if(min > a[i])
                min = a[i];
            
        return min;
    }

    void fun(int n,int a[],int* maxp,int* minp)
    {
        int i;
        *maxp = a[0];
        *minp = a[0];
        for(i = 1; i < n; i++){
            if(*maxp < a[i])
                *maxp = a[i];
            if(*minp > a[i])
                *minp = a[i];
        }
    }
    int main(void)
    {
        int max,min;
        int a[5] = {19,34,3,56,45};
    #if 0
        max = fun01(5,a);
        min = fun02(5,a);
    #else
        fun(5,a,&max,&min);
    #endif
        printf("max = %d,min = %d\n",max,min);
        return 0;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值