A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 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);

}




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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马