|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 为什么不能互换
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1085
人关注过本帖
标题:
为什么不能互换
只看楼主
加入收藏
我去哈哈
等 级:
禁止访问
帖 子:12
专家分:0
注 册:2014-10-23
结帖率:
60%
楼主
收藏
已结贴
√
问题点数:1 回复次数:10
为什么不能互换
#include<stdio.h>
#include<conio.h>
int swap(int n,int m)
{
int t;
t=n,n=m,m=t;
return(n,m);
}
int main()
{
int a=3,b=9;
printf("a=%d b=%d",a,b);
getch();
}
搜索更多相关主题的帖子:
include
return
2014-11-03 10:18
举报帖子
使用道具
赠送鲜花
我去哈哈
等 级:
禁止访问
帖 子:12
专家分:0
注 册:2014-10-23
第
2
楼
收藏
得分:0
请详细说明原因,谢谢
2014-11-03 10:18
举报帖子
使用道具
赠送鲜花
酷爱陈阳
等 级:
论坛游民
帖 子:14
专家分:33
注 册:2014-11-1
第
3
楼
收藏
得分:1
回复 楼主 我去哈哈
你用的是C还是C++?不过没关系,你定义了一个函数,但是你在主函数中根本没有用到它,那你定义的这个函数根本没有作用,因为处了数组外,形参的值不能影响实参的值!
2014-11-03 11:10
举报帖子
使用道具
赠送鲜花
wyw19880809
等 级:
蝙蝠侠
威 望:
3
帖 子:178
专家分:738
注 册:2013-3-14
第
4
楼
收藏
得分:1
你的swap函数不能实现互换功能,你这是传值调用,要实现互换需要传址调用才行,如:
void swap(int *n,int *m)
{
int tem;
tem = *n;
*n = *m;
*m = tem;
}
至于具体的解释,仔细看看书吧。或者网上搜一下传值和传址调用的区别
[
本帖最后由 wyw19880809 于 2014-11-3 11:20 编辑
]
2014-11-03 11:17
举报帖子
使用道具
赠送鲜花
徐学贵
等 级:
论坛游民
帖 子:14
专家分:14
注 册:2014-11-3
第
5
楼
收藏
得分:1
你没有调用函数啊
2014-11-03 11:45
举报帖子
使用道具
赠送鲜花
soulmate1023
等 级:
蝙蝠侠
威 望:
6
帖 子:256
专家分:831
注 册:2014-9-23
第
6
楼
收藏
得分:1
因为函数一点调用完后,形参就被释放了,所以不可能实现交换,要想交换,有2 中改法:
1.同4楼说的交换指针:但是调用时用swap(&a,&b);
2.不改子函数,只是将子函数的参数前加上&,这是c++方式,但不是很规范;
另外,我总觉得,你的子函数返回两个值,看着很不舒服,要是想返回两个值,可以将他们定义在一个结构体中。你这个问题中,如果用上面的两个方式,不可以把它换成return 0;看着舒服点
2014-11-03 14:31
举报帖子
使用道具
赠送鲜花
zklhp
来 自:china
等 级:
贵宾
威 望:
254
帖 子:11485
专家分:33241
注 册:2007-7-10
第
7
楼
收藏
得分:1
以下是引用
soulmate1023
在2014-11-3 14:31:57的发言:
因为函数一点调用完后,形参就被释放了,所以不可能实现交换,要想交换,有2 中改法:
1.同4楼说的交换指针:但是调用时用swap(&a,&b);
2.不改子函数,只是将子函数的参数前加上&,这是c++方式,但不是很规范;
另外,我总觉得,你的子函数返回两个值,看着很不舒服,要是想返回两个值,可以将他们定义在一个结构体中。你这个问题中,如果用上面的两个方式,不可以把它换成return 0;看着舒服点
2.不改子函数,只是将子函数的参数前加上&,这是c++方式,但不是很规范;
在C++里面叫引用 但C语言没这东西
2014-11-03 14:37
举报帖子
使用道具
赠送鲜花
soulmate1023
等 级:
蝙蝠侠
威 望:
6
帖 子:256
专家分:831
注 册:2014-9-23
第
8
楼
收藏
得分:0
回复 7 楼 zklhp
恩,是,所以我说不是很规范呀,但是用于解决这个问题是可以的
2014-11-03 15:00
举报帖子
使用道具
赠送鲜花
zklhp
来 自:china
等 级:
贵宾
威 望:
254
帖 子:11485
专家分:33241
注 册:2007-7-10
第
9
楼
收藏
得分:0
以下是引用
soulmate1023
在2014-11-3 15:00:21的发言:
恩,是,所以我说不是很规范呀,但是用于解决这个问题是可以的
从C语言变成C++了 如果你觉得这个是【解决】 那就是【可以】啦
做人开心就好嘛
2014-11-03 15:08
举报帖子
使用道具
赠送鲜花
soulmate1023
等 级:
蝙蝠侠
威 望:
6
帖 子:256
专家分:831
注 册:2014-9-23
第
10
楼
收藏
得分:0
回复 9 楼 zklhp
嗯,知道了,我还是应该谨慎点的,谢谢~~~
2014-11-03 15:17
举报帖子
使用道具
赠送鲜花
11
1/2页
1
2
快速回复:
为什么不能互换
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.017997 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved