黑马程序员技术交流社区

标题: 交换两个数,为什么不能用*t来做为临时变量。 [打印本页]

作者: Micro    时间: 2015-2-14 22:47
标题: 交换两个数,为什么不能用*t来做为临时变量。
本帖最后由 Micro 于 2015-2-14 22:50 编辑

交换两个数,为什么不能用*t来做为临时变量。


#include <stdio.h>

/*************found**************/

void fun(int *x,int *y)

{ int *t;

/*************found**************/

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

}

void main()

{ int a,b;

  a=8;

  b=3;

  fun(&a, &b);

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

}


我知道这才是对的。

#include <stdio.h>

/*************found**************/

void fun(int *x,int *y)

{ int t;

/*************found**************/

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

}

void main()

{ int a,b;

  a=8;

  b=3;

  fun(&a, &b);

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

}




放在小程序里,容易看出。复杂点就容易犯错误了





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2