| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 661 人关注过本帖
标题:偶有一个编程问题!
只看楼主 加入收藏
hackerjiang
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:3
帖 子:780
专家分:111
注 册:2007-4-27
结帖率:100%
收藏
 问题点数:0 回复次数:13 
偶有一个编程问题!
#include "stdio.h"
void swap1(int c[])
{int t;t=c[0];c[0]=c[1];c[1]=t;}
void swap2(int c0,int c1)
{int t;t=c0;c0=c1;c1=t;}
main()
{
int a[2]={3,5},b[2]={3,5};
swap1(a);
swap2(b[0],b[1]);
printf("%d %d %d %d\n",a[0],a[1,]b[0],b[1]);
}

输出为什么是 5 3 3 5

我认为应该是 5 3 5 3

请 高手 解答!
搜索更多相关主题的帖子: include 编程 
2007-04-27 16:25
csight
Rank: 1
等 级:新手上路
威 望:1
帖 子:293
专家分:0
注 册:2006-6-11
收藏
得分:0 
swap2(b[0],b[1]);
不是传递地址,只是传值;
swap2(&b[0],&b[1]);才是;

头可断,发型不可乱;血可流,皮鞋不可不擦油;
2007-04-27 16:32
hackerjiang
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:3
帖 子:780
专家分:111
注 册:2007-4-27
收藏
得分:0 
可以说清楚一点不?偶是菜鸟一只,倒~~~~

(づ ̄ 3 ̄)づ
2007-04-27 16:40
ycxue46
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2007-4-16
收藏
得分:0 

改了类型就不匠配了

2007-04-27 16:51
ycxue46
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2007-4-16
收藏
得分:0 
他说主函数的实参只能用地址传送,不能直接传送他的内容吗?
2007-04-27 16:53
csight
Rank: 1
等 级:新手上路
威 望:1
帖 子:293
专家分:0
注 册:2006-6-11
收藏
得分:0 
swap2(b[0],b[1]);
只是把b[0]和b[1]的拷贝传到swap2(),
在swap2()中交换他们,并不影响他们main()中的值;
swap2(&b[0],&b[1]);是把他们的指针传到swap2(),这样就可以实现他们的真正交换;

头可断,发型不可乱;血可流,皮鞋不可不擦油;
2007-04-27 16:53
hackerjiang
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:3
帖 子:780
专家分:111
注 册:2007-4-27
收藏
得分:0 
哦!了解!~谢谢高手解答~~~~~~~~~~~~

(づ ̄ 3 ̄)づ
2007-04-27 16:56
csight
Rank: 1
等 级:新手上路
威 望:1
帖 子:293
专家分:0
注 册:2006-6-11
收藏
得分:0 
不是说不能传内容,你要实现交换就得传地址;
除非你用得是全局变量;
void swap2(int c0,int c1)可以改为
void swap2(int *c0,int *c1)
当然里面的也是要改的;

头可断,发型不可乱;血可流,皮鞋不可不擦油;
2007-04-27 16:56
hackerjiang
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:3
帖 子:780
专家分:111
注 册:2007-4-27
收藏
得分:0 

(int *c0,) 的*号是怎么会事?


(づ ̄ 3 ̄)づ
2007-04-27 16:58
ycxue46
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2007-4-16
收藏
得分:0 
有道理.顶
2007-04-27 16:58
快速回复:偶有一个编程问题!
数据加载中...
 
   



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

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