今天写冒泡排序打算用函数来实现两数值的交换,发现写的函数不起作用,经百度查找,应当使用地址传递。
#include<stdio.h>
int c(int a,int b){
int t;
t=a;
a=b;
b=t;
printf("%d,%d\n",a,b);
}
int main() {
int x=1,y=2;
c(x,y);
printf("%d,%d",x,y);
return 0;
}
/*
2,1
1,2
x和y的值没有改变
*/
#include<stdio.h>
int c(int *a,int *b){
int t;
t=*a;
*a=*b;
*b=t;
printf("%d,%d\n",*a,*b);
}
int main() {
int x=1,y=2;
c(&x,&y);
printf("%d,%d",x,y);
return 0;
}
/*
2,1
2,1
x和y的值发生改变
*/