| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1283 人关注过本帖
标题:为什么我不能实现两个参数交换啊??
只看楼主 加入收藏
栖柏
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
快速回复:为什么我不能实现两个参数交换啊??
数据加载中...
 
   



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

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