| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3560 人关注过本帖
标题:用指针交换数值
只看楼主 加入收藏
freezesoul
Rank: 2
等 级:论坛游民
帖 子:47
专家分:38
注 册:2010-3-13
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
用指针交换数值
程序代码:
#include <stdio.h>
main()
{int a=10,b=20;

 int *x=&a,*y=&b;

 printf("a=%d,b=%d\n",a,b);

 swap(x,y);

 printf("after swap\ta=%d,b=%d\n",a,b);

 getch();
}
swap(int *x,int *y)
{int *t;

 *t=*x;

 *x=*y;

 *y=*t;

 }
编译的结果是a=20,b=20. 为什么不是a=20,b=10  *x指向10赋给*t,*t也指向10,*y指向20赋给*x,*x也等于20,*t赋给*y *y怎么指向20了?- -
搜索更多相关主题的帖子: 数值 指针 
2010-10-29 17:05
NoSoul
Rank: 9Rank: 9Rank: 9
来 自:沈阳化工大学
等 级:蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
收藏
得分:3 
#include <stdio.h>
void swap(int *x,int *y)
{
    int t;
    t=*x;
    *x=*y;
    *y=t;
}
int main()
{
    int a=10,b=20;
    int *x=&a,*y=&b;
    printf("a=%d,b=%d\n",a,b);
    swap(x,y);
    printf("after swap\ta=%d,b=%d\n",a,b);
    getch();
    return 0;
}

我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2010-10-29 17:08
freezesoul
Rank: 2
等 级:论坛游民
帖 子:47
专家分:38
注 册:2010-3-13
收藏
得分:0 
回复 2楼 NoSoul
我的是思路啊 不是结果..
2010-10-29 17:10
NoSoul
Rank: 9Rank: 9Rank: 9
来 自:沈阳化工大学
等 级:蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
收藏
得分:0 
你交换的应该是地址,不是指针,明白?

我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2010-10-29 17:11
金山游侠
Rank: 2
等 级:论坛游民
帖 子:11
专家分:11
注 册:2010-10-29
收藏
得分:1 
t=*x;*x=*y;*y=t
2010-10-29 17:19
fxstudent
Rank: 1
等 级:新手上路
帖 子:1
专家分:6
注 册:2010-10-30
收藏
得分:6 
swap(int *x,int *y);当中*x和*y当中存放的是存储单元的地址。
所以在swap函数当中要交换a和b的值就要用整型来存储。
2010-10-30 10:43
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
慢慢就会明白了

                                         
===========深入<----------------->浅出============
2010-10-30 23:19
yk3503
Rank: 1
来 自:常乐男职
等 级:新手上路
帖 子:10
专家分:7
注 册:2010-10-30
收藏
得分:0 
呃。。。。

子函数里的t是指针你没发现么?

定义成int t;

t = *x;
*x = y;
*y = t;

再试试?

出来混迟早要还的
2010-10-31 19:33
快速回复:用指针交换数值
数据加载中...
 
   



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

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