你以为

#include<stdio.h>

void exchange(int x,int y)

{

int c=0;

c=x;

x=y;

y=c;

}

int main()

{

int a=10;

int b=20;

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

exchange(a,b);

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

return 0;

}

C语言,用函数实现两个数的交换(你以为与事实为)_两个数的交换

事实为

#include<stdio.h>

void exchange(int* x,int* y)

{

int c=0;

c=*x;

*x=*y;

*y=c;

}

int main()

{

int a=10;

int b=20;

int *pa=&a;

int *pb=&b;

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

exchange(&a,&b);

printf("a=%d,b=%d",*pa,*pb);

}

C语言,用函数实现两个数的交换(你以为与事实为)_函数_02