标题:为什么我不能实现两个参数交换啊??
只看楼主
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
得分:0 
以下是引用死了都要C在2007-9-14 16:07:14的发言:

形参和实参````采用的是值传递```
X=10,Y=20``穿给A,B
A=10,B=20``在swap里``AB交换了```
A=20,B=10``但是main里``XY没变```

你在main里P出XY``当然不能得到你要的结果```
你的程序可以样改``

#include<stdio.h>
int main(void)
{
int swap(int a,int b);
int x,y;

x=10;y=20;

swap(x,y);

getchar(); -------------加上它看结果``
return 0;

}
void swap(int a,int b)
{
int m;

if(a<b)
{m=a;a=b;b=m;}

printf("%d,%d",a,b);

return ;
}


这个程序有些有趣
果然c是自由者
把那int改为void可以运行了


You have lots more to work on! Never give up!c language!
2007-09-25 17:55
孤独败天
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-9-20
得分:0 
是不是没有返回值呢?
2007-09-25 20:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-169804-1-1.html




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

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