标题:[求助]关于指针传递的过程!
只看楼主
qwerty1217
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2005-9-28
 问题点数:0 回复次数:7 
[求助]关于指针传递的过程!
我想实现两个数交换,
请各为大虾指点以下两个程序中哪个不能实现交换!谢谢!
main()
{ int *a=0,*b=0;
*a=10,*b=20;
swap(a,b);
printf("%d,%d\n",*a,*b);
}
swap(int *p,int *q)
{ int t;
t=*p;*p=*q;*q=t;
}
第二个
main()
{ int a=10,b=20,*x=0,*y=0;
*x=&a,*y=&b;
swap(x,y);
printf("%d,%d\n",a,b);
}
swap(int *p,int *q)
{ int t;
t=*p;*p=*q;*q=t;
}
搜索更多相关主题的帖子: int 指针 swap main 
2007-08-12 15:38
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
得分:0 

都不可以


自我放逐。。。
2007-08-12 15:44
谁与争疯
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:海南省
等 级:版主
威 望:188
帖 子:15070
专家分:17503
注 册:2007-4-22
得分:0 

地址和值。

这是相当模糊的.....


论坛是我家灌水靠大家
2007-08-12 15:52
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
得分:0 
以下是引用qwerty1217在2007-8-12 15:38:15的发言:
我想实现两个数交换,
请各为大虾指点以下两个程序中哪个不能实现交换!谢谢!
main()
{ int *a=0,*b=0;
*a=10,*b=20;--------------指针要存放变量的地址!!
swap(a,b);
printf("%d,%d\n",*a,*b);
}
swap(int *p,int *q)
{ int t;
t=*p;*p=*q;*q=t;
}
第二个
main()
{ int a=10,b=20,*x=0,*y=0;
*x=&a,*y=&b;----------------x=&a;y=&b;
swap(x,y);
printf("%d,%d\n",a,b);
}
swap(int *p,int *q)
{ int t;
t=*p;*p=*q;*q=t;
}

所以都不可以!!


要练习算法就来http:///!!有挑战哦!!
2007-08-12 15:54
qwerty1217
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2005-9-28
得分:0 

谢谢,各位!
能解释以下原因吗?
出了地址赋值有问题以外!

2007-08-12 15:59
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
得分:0 
以下是引用viky2003在2007-8-12 15:54:11的发言:

所以都不可以!!

你修正的函数声明写上没有?


自我放逐。。。
2007-08-12 19:43
qwerty1217
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2005-9-28
得分:0 


不是很懂!
详细!

2007-08-12 20:30
sam07
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-8-4
得分:0 
两个都不行的.
这个问题很模糊.
2007-08-12 21:35



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




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

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