当前位置:系统粉 > 电脑问答 > 其他问答 > 看不懂这程序,大家来指点下偶

看不懂这程序,大家来指点下偶

提问者:dota大肉屁股哥  |  浏览 次  |  提问时间:2017-01-14  |  回答数量:7

看不懂这程序,大家来指点下偶 #include<iostream.h>void swap(int,int);void main(){  int a=3,b=4;  cout<<\"a=\"<<a<<\"b=\"<<b<<endl;  swap(a,b);  cout<<\"a=\"<<a<<\"b=\"<<b<<endl;}void swap(int x,int y){  int t=y;  x=y;  y=t;}运行结果是a=3,b=4a=3,b=4不理解的是第二行的输出怎么不是a=4,b=3函数swap已经把a和b的值对换了呀

已有7条答案
drinkerbaby

drinkerbaby

回答数:25  |  被采纳数:19

2017-01-14 11:03:34
呵呵void是不返回值的....
你这样是改变不了a,b两个值的
用指针变量来吧....

也就是说在swap函数里两个值是互换了,但是这个函数没有把值返回给主函数!!

普通变量在调用函数时是不会返回值的,只有指针有这个特性....可以把返回的值给调用函数

=====================
其实用:
a = a ^ b;
b = b ^ a;
a = a ^ b;

a = a + b;
b = a - b;
a = a - b;
就可以达到互换的了,用乘也可以的
[s:470]
赞 2
qazwsx00077

qazwsx00077

回答数:85  |  被采纳数:106

2017-01-14 11:04:09
不懂````进来看看``
赞 8
ttdgky

ttdgky

回答数:76  |  被采纳数:129

2017-01-14 11:23:32

嗯 LS的已经说得很具体了~
赞 7
天堂人大

天堂人大

回答数:20  |  被采纳数:69

2017-01-14 17:39:45
谢谢。现在知道了 [s:526]
赞 2
衣服没兜兜

衣服没兜兜

回答数:83  |  被采纳数:28

2017-01-14 21:16:13
感觉像移值.....
都忘记C了....
赞 8
简小米_0

简小米_0

回答数:26  |  被采纳数:127

2017-01-14 20:19:29
有些表过式都不记得了~~~~ [s:470]

过来学一学! [s:460]
赞 2
长弓问天

长弓问天

回答数:12  |  被采纳数:45

2017-01-14 14:23:31
不懂啊,想学啊!不知道难不难!我现在在学网络,大侠些多指教哈
赞 1
解决方法
版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航