为了账号安全,请及时绑定邮箱和手机立即绑定

请帮我分析一下结果,我个人想出来的结果与运行结果相反

请帮我分析一下结果,我个人想出来的结果与运行结果相反

C
小画冰 2015-12-13 12:19:29
#include<stdio.h> void  fun( int *a, int *b) { int *k; k=a; a= b; b=k; } void main() { int a=2004, b=9, *x=&a, *y=&b; fun(x,y); printf("%d,%d", a, b); }
查看完整描述

1 回答

?
亹v亹

TA贡献1条经验 获得超0个赞

fun函数中只改变了*a*b的地址,并没有改变所指向的内容

应该这样写:

*k=*a; *a= *b; *b=*k;



查看完整回答
反对 回复 2015-12-13
  • 小画冰
    小画冰
    你说改变了地址,但是我把最后一行printf语句该为printf("%d,%d",*x,*y),结果还是2004,9这是为什么呢
  • 1 回答
  • 0 关注
  • 1014 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信