| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9588 人关注过本帖
标题:return 同时返回两个值的问题???求助
只看楼主 加入收藏
hhc505456544
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-11-26
收藏
 问题点数:0 回复次数:19 
return 同时返回两个值的问题???求助
int mm(int x,int y)
{
 int z1=y;int z2=x;
 if(x>y) {z1=x;z2=y;}
 return (z1,z2);
}

main(){
int a,b;
printf("input two number:");
scanf("%d%d",&a,&b);
printf("max=%d\nmin=%d\n",mm(a,b));
}
我的结果不对。
目的:return返回两个值 及:最大值和最小值;
高手帮帮忙修改下呀!!

[[it] 本帖最后由 hhc505456544 于 2008-11-28 16:06 编辑 [/it]]
搜索更多相关主题的帖子: return 
2008-11-28 16:05
nianshi
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2007-11-7
收藏
得分:0 
一个函数一次只能返回一个值

行至水穷处 坐看去起时
C语言QQ群1:51871776  群2:26313099  群3:47145282
2008-11-28 16:11
nianshi
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2007-11-7
收藏
得分:0 
你可以编写两个函数分别求 或是用指针实现

行至水穷处 坐看去起时
C语言QQ群1:51871776  群2:26313099  群3:47145282
2008-11-28 16:12
dillon
Rank: 1
等 级:新手上路
威 望:2
帖 子:183
专家分:0
注 册:2008-10-6
收藏
得分:0 
可以定义两个变量才存储啊。
2008-11-28 16:21
liumang_D
Rank: 2
来 自:计算机
等 级:论坛游民
威 望:1
帖 子:89
专家分:50
注 册:2008-10-20
收藏
得分:0 
悲哀
2008-11-28 16:49
yangvu
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2008-11-28
收藏
得分:0 
逗号运算,只返回Z2
2008-11-28 16:51
京广铁路
Rank: 1
等 级:新手上路
威 望:1
帖 子:119
专家分:0
注 册:2008-11-3
收藏
得分:0 
楼主的意思是要同时输出最大和最小的数
两个数比较有这个必要吗
多个数比较的话建议还是用指针
2008-11-28 17:21
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
------------------
   
    楼主,函数只能返回一个值,不能返回两个的。如果真的需要,可以用指针,或者你没学过指针,那么可以用全局变量,那么也可以实现你的要求。

    不过,你可能非得要两个数求出大小数,而且非得用函数返回值的方式,那么下面的代码你试试看,应该达到这个要求。

    这个程序还有点小问题,因为我把它们两个如果相等,那么就返回它们的和,那如果在一方等于 0 的时候,也会出现这样的效果。
#include<stdio.h>
int MAX(int a,int b)
{
    if(a>b)    return a;
    else if(a<b)    return b;
    else    return a+b;
}
int main(void)
{
    int a,b,max;
    printf("input a,b:\n");
    scanf("%d %d",&a,&b);
    max=MAX(a,b);
    if(max==a+b)
    {
        printf("a=b\n");
        exit(0);
    }
    printf("max=%d,min=%d\n",max,a+b-max);
    return 0;
}
2008-11-28 18:28
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
不可能返回两个值,你只能用指针来实现

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-28 18:29
songsfly
Rank: 1
来 自:厦门大学
等 级:新手上路
帖 子:44
专家分:0
注 册:2008-11-25
收藏
得分:0 
可以用全局变量,也可以储存在数组中直接返回

yixiong89921.blog./
2008-11-28 19:10
快速回复:return 同时返回两个值的问题???求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023342 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved