#include <stdio.h>
vioid change(int a, int b)
{
int tmp =a;
a=b;
b=tmp;
}
int main()
{
int a=5;
int b=3;
change(a,b);
printf("num a=%d\nnum b=%d\n",a,b);
return 0;
}
这个程序不能实现 调换数值 而本节的数组却可以 为什么
我知道是要用指针 ,但是本节的数组排序, 没有用指针却也可以实现交换,为什么
void change(int *n, int *m)
{
int temp;
temp = *n;
*n = *m;
*m = temp;
}
int main()
{
int a = 5, b = 3;
change(&a,&b);
printf("num a=%d\nnum b=%d\n",a,b);
return 0;
}
换成这样就可以了,通过交换变量地址的交换就可以了