| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 622 人关注过本帖
标题:关于指针的问题
只看楼主 加入收藏
ping燕s
Rank: 2
来 自:江西
等 级:论坛游民
帖 子:40
专家分:33
注 册:2009-9-22
结帖率:71.43%
收藏
已结贴  问题点数:20 回复次数:7 
关于指针的问题
   用指针作为函数参数实现:输入2个整数,按由小到大的顺序输出??
  Void swap(int *p1,int *p2)
{
int *temp;
temp=p1;
p1=p2;
p2=temp;
}
main()
{
int a,b;
int *pointer1,*pointer2;
scanf("%d,%d",&a,&b);
pointer1=&a;pointer2=&b;
if(a<b)
swap(pointer1,pointer2);
printf("\n%d,&d,a,b);
}
   
      为什么2数不交换啊???
 应为刚学,讲详细点。。。谢谢!!
搜索更多相关主题的帖子: 指针 
2009-10-06 00:33
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:4 
int *temp

 改为:


int temp;
temp=*p1;
*p1=*p2;
*p2=temp;


[ 本帖最后由 广陵绝唱 于 2009-10-6 01:01 编辑 ]
2009-10-06 01:00
放弃那个阿姨
Rank: 2
等 级:论坛游民
帖 子:41
专家分:75
注 册:2009-9-29
收藏
得分:4 
关于指针的问题
 
   用指针作为函数参数实现:输入2个整数,按由小到大的顺序输出??
  Void swap(int *p1,int *p2)
{
int *temp; \\你是意思是将地址交换,打印交换后该地址所储存的值,对不。
temp=p1;  \\你是想让p1的地址赋给temp,即temp=&p1,版主在上面的做法才是对的。
p1=p2;
p2=temp;
}
main()
{
int a,b;
int *pointer1,*pointer2;
scanf("%d,%d",&a,&b);
pointer1=&a;pointer2=&b;
if(a<b)
swap(pointer1,pointer2);
printf("\n%d,&d,a,b);
}
2009-10-06 01:26
ping燕s
Rank: 2
来 自:江西
等 级:论坛游民
帖 子:40
专家分:33
注 册:2009-9-22
收藏
得分:0 
   那为什么交换地址不行呢???
2009-10-06 12:06
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:10 
{
int *temp;
temp=p1;
p1=p2;
p2=temp;
}
这么做是不可以滴
C语言中实参变量和形参变量之间的数据传递时单向的“值传递”方式。指针变量作函数参数也要遵循这一规则。不可能通过调用函数来改变实参指针变量的值,但可以改变实参指针变量所指变量的值。
函数的调用可以得到一个返回值,而运用指针变量作参数,可以得到多个变化了的值。如果不用指针变量是难以做到这一点的。
2009-10-06 12:37
酷编程
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-10-6
收藏
得分:0 
学习了。。。

[ 本帖最后由 酷编程 于 2009-10-6 12:57 编辑 ]
2009-10-06 12:52
evanya
Rank: 2
等 级:论坛游民
帖 子:31
专家分:45
注 册:2009-9-28
收藏
得分:2 
若要交换内容可以这样改:
  
Void swap(p1,p2)
 int *p1,*p2;
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
这个是交换内容,两值会交换。楼主的那个是交换地址,不改变原有的值,因为c语言中实参变量和形参变量之间的数据传递是单向的“值传递”,指针变量作函数也遵循这一规则。
2009-10-06 13:39
borrow1988
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-10-7
收藏
得分:0 
简单回答你    函数是单向值传递
2009-10-07 00:57
快速回复:关于指针的问题
数据加载中...
 
   



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

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