怎样用c++返回值交换实现在函数中两个值交换

就是在函数中交换主函数中的两个值,但不要用指针和引用怎样通过返回值交换?谢谢各位大师们啦!不是呀,是要在主函数里输入ab,然后在函数里实现两个值的交换,然后在主函数中输出... 就是在函数中交换主函数中的两个值,但不要用指针和引用
怎样通过返回值交换?
谢谢各位大师们啦!
不是呀,是要在主函数里输入a b,然后在函数里实现两个值的交换,然后在主函数中输出a b,这时a b 值应该反过来输出了
那或者不用引用和指针还有没有其他的办法实现交换,交换方式请看前面的问题补充
就是自己编的函数,可以不用指针不用引用,用其他的方法实现
可是我们老师说三种方法实现交换啊,怎么做?
还要在同一个工程里,按1值交换,按2指针交换,按3引用交换 =.,=
那怎么弄到函数里去?
那怎么办?束手无策?真的真的没有办法了?如果一定要在函数里实现呢?
展开
 我来答
百度网友e9042513a
2009-03-04 · TA获得超过6984个赞
知道大有可为答主
回答量:2388
采纳率:0%
帮助的人:3507万
展开全部
利用加减法实现两个变量的交换,

a=a+b;b=b-a;a=a-b;

这就不能放到外部函数了,否则没用

http://www.blogjava.net/supercrsky/articles/178346.html
xkken
2009-03-04 · 超过25用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
#include <iostream>
using namespace std;
void main()
{
void max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
max(a,b);
}

void max(int x,int y)
{
int big;
if(x>y)
big=x;
else
big=y;
printf("result is %d",big);
}

另一个方法
#include<stdio.h>
#include <iostream>
using namespace std;
int max(int x,int y)
{
return x>y?x:y;
}
void main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
cout<<c;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伊·梵beec
2009-03-04 · TA获得超过2160个赞
知道大有可为答主
回答量:1897
采纳率:0%
帮助的人:1380万
展开全部
使用引用
void swap(int &a, int &b)
{
    int t;
    t=a;
    a=b;
    b=a;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xrtgavin
2009-03-04 · 超过10用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:0
展开全部
除非把a, b声明为全局变量

否则,单纯的从主函数传值将a, b的值交换根本不可能改变a, b的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式