分享

函数怎样才能返回两个值

 浮 生 2008-11-05

1、利用全局变量来实现修改两个变量,无需要传递(在函数中修改就可以修改外边的值)
2、利用指针作为传递,然后在函数中进行修改就可以修改参数的值(和单向值传递不同之处就在此)
    比如
    void fun(int *a, int *b)
     {
        *a = 1;
         *b = 2; 
      
      这时修改结果直接保存回原变量了。其实这种方法和第1种有相同之处

    把两个值也作为函数的参数传给函数,在函数里对两个值进行修改。

    比如求最大值和最小值的函数,可以把max,min作为参数。
    f(int array[],int n,int *max,int *min)
    {
        //求最大值和最小值
        //*max=最大值,*min=最小值
    }

    void main()
    {
        int max,min;
        int a[100];
        //给a[100]赋值
        f(a,100,&max,&min);
    }
3、利用结构体,将需要传递的数进行打包成结构体,到进返回时只需要返回结构体的指针即可
4、函数内部实现,如果需要(这种方法不通用能力有限,不再细述)
5、 一个返回值,一个ref 参数,我也没有细研究。因为我觉得前面的方法已经够了,等到不得不用这种方法时再看也不迟吧

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多