设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
C语言的一道题。请告诉我结果,为什么是这个结果。 ...
返回列表
发新帖
C语言的一道题。请告诉我结果,为什么是这个结果。
[复制链接]
11
|
4
|
2010-9-8 21:32:59
|
显示全部楼层
|
阅读模式
#include
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);
}
答案是3,5,3,5
为什么啊?
回复
使用道具
举报
千问
|
2010-9-8 21:32:59
|
显示全部楼层
因为这个函数void fun(int *a,int *b){ int *c; c=a;a=b;b=c;}不能把交换的结果带回来。所以函数调用没调用,不影响p,q,x,y.如果改成:void fun(int *a,int *b){ int c; c= *a; *a= *b; *b=c;}结果是:5,3,3,5 -- 第一次交换成5,3,第二次交换,换回到3,5.(你程序中有书写错误,自己更正--例如漏引号)。
回复
使用道具
举报
千问
|
2010-9-8 21:32:59
|
显示全部楼层
其实这两个函数都是一样的问题。
你的函数在创建时,两个参数都新建了一个分别指向p,q的指针,最后函数里交换的是a,b两个指针的值,也就是说现在a指向5,b指向3,a,b的值变化对p,q是不影响的,就好比是传值交换一样。不知道你懂了没。。。
回复
使用道具
举报
千问
|
2010-9-8 21:32:59
|
显示全部楼层
对于调用者来说,fun函数除了浪费时间(好听点可以叫延时),没有其他用处。Over!
回复
使用道具
举报
千问
|
2010-9-8 21:32:59
|
显示全部楼层
对于fun(p,q),fun()虽然传递的参数是指针,但内部只是将地址做交换,并没有交换地址内部的值,而且没有返回值,执行完后不影响实参。对于fun(&x,&y)中p=&x,q=&y,结果和fun(p,q)一样,也是相同的道理。如果fun()内部的语句是*c=*a;*a=*b;*b=*c,那交换的就是指针所指向的值,操作结果就会影响实参了。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
肝右沙叶低回声结节会有什么结果
2
习得性无助是否是性格心理障碍
3
咳嗽好久了,没痰
4
我颈椎关节面密质增高,呈唇样角质外突,怎治疗?
5
输液睡着啊,醒来一看回血啊里面还有不点药,怎么回事
6
喝什么汤下奶最快
7
药对比性看哪种药要好些
8
L4/5椎肩盘左后突出,L5/S1轻度中央突出
9
经后一周又有出血
10
喉咙还是疼还咳个没完
11
淋巴结肿大打什么针消炎
12
同房后在阴道内放药能预防炎症吗
13
我经常房颤
14
耳部胆脂瘤
15
喉咙被鱼刺刺到了
16
糖尿病初期要不要吃药
17
甲状腺癌和心跳过快
18
老人不能动了
19
腰椎间盘的检查
20
乳房侧部有小团肉食怎么啦
21
宫颈糜烂.炎细胞较多
22
个别颈管细胞核较大,可以怀孕吗?
23
宝宝九个月了不吃辅食正常吗
24
我用二甲双胍需要配保肝药吗?
25
8岁儿童近视200度该怎么治疗是否应该佩戴眼镜?
26
那里出了问题?
27
现在我刚怀孕我老公服用药物有影响吗
28
支原体感染产生耐药性怎么办?
29
月经一年没来
30
头皮好干,头皮屑就好多
31
晚上生殖器勃起属于正常吗
32
脖子酸痛了三四个月
33
人流20天后同房怀孕的几率有多大马上吃避孕药有用吗???
34
甲状腺囊肿可以不手术吗
35
新生儿ABO重度溶血病能接种乙肝疫苗
36
天早晨睡醒后两手发张握不住拳头,数分钟后逐步消失,时间有4年
37
支原体感染应怎么治疗
38
月子里的小孩有眼屎是怎麽回事
39
先天性阴茎弯曲做手术要多少钱
40
血脂过高应注意什么
41
是否进入更年期?
42
鼻子一边长肿块,鼻涕带血丝,请问是什么鼻病?
43
2个半月宝宝腹泻
44
眼睛酸涨眼白红
45
手指甲一直不长的原因
46
子宫腺肌需手术吗
47
现在每个月的月经很少?
48
埃索美拉唑镁肠溶片为什么不能长吃
49
四岁男孩儿早上起来咳嗽
50
怀孕能最爱吗
51
左肋下老是胀气
52
打封闭针后手麻没知觉,请问正常吗?
53
老年人突然发现脚背肿,没疼痛,有胀感
54
右腮骨下方疼,但是不肿,怎么回事呢?
55
宫颈靡烂炎细胞较多
56
肛周有渗出液,瘙痒一年,痔疮两年
57
您好!我怀孕了想知道有办法知道确切的怀孕日期吗
58
宫颈增生、糜烂
59
大腿往上延伸至根部有跟筋
60
介入和放疗是一回事吗?
61
糖尿病吃药以后不吃就不行了
62
脚背砸伤咋办
63
包皮手术后用什么药消毒
64
脸上长一红豆是什么?
65
我的LDL值达到6.14,TG值正常怎么办?
66
我咨询一下检查结果
67
月子里20天同房怎么办
68
什么是胃扭转
69
疏风再造丸
70
与男生交往有障碍
71
脚底开口
72
六岁小儿脚掌间隙疼痛是何原因?
73
糖尿病的一日三餐
74
冠心宝软胶囊能用吗
75
我总是低烧这是怎么了?
76
眼睛一直眨
77
女性性激素六项检查针对什么的?
78
贫血要吃些什么好
79
宝宝打过预防针后发高烧怎么办?
80
药流后一直都在用阴道冲洗液要紧么?
81
脐血流偏高影响胎儿吗
82
尿的颜色如自来水一样无色是何原因
83
小腿胫骨骨折需要多长能愈合
84
眼睛通常要红
85
怀孕5个多月,做引产危险大吗
86
以下结果能否确诊为骨结核?
87
打嗝导致胸疼
88
喝水少
89
请问;股骨头骨软骨病做什么检查最好?知道的告诉一下.谢了.
90
Hiv指数值8是什么意思
91
亲们,你们生完宝宝牙遇到过这种问题吗?
92
断续性的高烧及中度烧
93
怀孕初期阴道口不舒服
94
医生今晚我不知道怎么办
95
大便疼痛并带血
96
宝宝口中的了霉菌怎么办?
97
维胺酯胶囊的问题
98
吃错药了对胎儿影响大不大
99
肚子又问题还是胃有问题
100
打鼾能否手术彻底治愈