当前位置: 代码迷 >> C语言 >> 请问a和b的值为什么没有交换?(在线等答案)
  详细解决方案

请问a和b的值为什么没有交换?(在线等答案)

热度:144   发布时间:2008-04-15 17:28:00.0
函数就像一个黑盒子,对外界是不可见的。
----------------解决方案--------------------------------------------------------
指针用着非常灵活,但也非常容易出错,要小心!!!
----------------解决方案--------------------------------------------------------
呵呵,顶下
----------------解决方案--------------------------------------------------------
那是应为传递的是数的指针,原代码交换的时候只是交换了指针的地址而不是指针指向的数,所以交换不能实现,
详细的话可以参看《C程序设计》谭浩强著。
----------------解决方案--------------------------------------------------------
有不少答案了吗,
----------------解决方案--------------------------------------------------------
因为a是指针,他只能指向地址,而k是参数啊,
----------------解决方案--------------------------------------------------------
定义一个非指针的K就可以了

int k;
----------------解决方案--------------------------------------------------------
*x和*y指的是变量,而不是地址,你用*x=&a,*y=&b当然不对了,应改为*x=a,*y=b或x=&a,y=&b.
----------------解决方案--------------------------------------------------------
  相关解决方案