| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1258 人关注过本帖
标题:关于一个函数功能的问题
取消只看楼主 加入收藏
韩54521风
Rank: 4
等 级:业余侠客
帖 子:75
专家分:212
注 册:2011-6-11
结帖率:100%
收藏
已结贴  问题点数:50 回复次数:5 
关于一个函数功能的问题
有以下程序:
#include"stdio.h"
void fun(int *a,int *b)
{ int *c;
c=a;a=b;b=c;
}
main()
{
int x=3,y=5,*p=&x,*q=&y;
fun(p,q);printf("%d,%%d,",*p,*q);
fun(&x,&y);printf("%d,%d\n",*p,*q);
}
程序运行后的结果是()
A3,5,5,3   B3,5,3,5     C5,3,3,5      D5,3,5,3
为何选B

void fun(int *a,int *b)
{ int *c;
c=a;a=b;b=c;
}
这个函数的功能是什么呢?是不是指针的地址发生转变但是指针所指的地址内的数值没有变化啊,请求大侠帮忙。。。。。。

[ 本帖最后由 韩54521风 于 2011-8-5 20:39 编辑 ]
搜索更多相关主题的帖子: include 
2011-08-04 18:15
韩54521风
Rank: 4
等 级:业余侠客
帖 子:75
专家分:212
注 册:2011-6-11
收藏
得分:0 
查了一遍,没有抄错,选B,解释是“对于fun函数并未对p,q所指向的值带来改变,也就是说fun函数只对指针p,q的副本做了交换,并未影响到指针p,q。”
不过还是弄不懂什么意思。
2011-08-04 20:13
韩54521风
Rank: 4
等 级:业余侠客
帖 子:75
专家分:212
注 册:2011-6-11
收藏
得分:0 
嗯,好想的确不对啊,现在已经改了,能告诉我这个函数到底是怎么回事吗?
2011-08-04 20:25
韩54521风
Rank: 4
等 级:业余侠客
帖 子:75
专家分:212
注 册:2011-6-11
收藏
得分:0 
回复 8楼 loveshuang
指针的拷贝副本是什么东西啊?百度也没弄明白啥意思,好想很深奥的样子啊!情赐教
2011-08-05 13:27
韩54521风
Rank: 4
等 级:业余侠客
帖 子:75
专家分:212
注 册:2011-6-11
收藏
得分:0 
回复 16楼 icysky
这两个程序区别倒是很明显,这一块的知识是什么啊,我怎么找不到呢,到现在还是没有搞懂,希望可以告诉我这两个程序运行的区别
2011-08-05 21:00
韩54521风
Rank: 4
等 级:业余侠客
帖 子:75
专家分:212
注 册:2011-6-11
收藏
得分:0 
回复 18楼 linxing_spp
经典,谢谢
2011-08-06 08:32
快速回复:关于一个函数功能的问题
数据加载中...
 
   



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

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