fun1(int *a,int *b){
int t = * a;* a = * b;* b = t;
//定義壹個臨時變量,先存儲A的值,然後把B賦給A,再把T賦給B。
//因為函數的形參是地址,所以A和B可以看作(但不是)主函數中的A和B。
}
fun2(int *a,int *b){
* a+= * b;
* b = * a-* b;
* a-= * b;
//這種算法的優點是不需要聲明新的變量就可以達到交換的目的。
//註意fun1()和fun2中的A是主函數中變量A的地址。
//所以,這裏的A和主函數裏的不是壹回事~!
}
main(){
int a,b;//定義2個整數變量。
printf("請輸入兩個數字:");//提示
scanf("%d %d ",& amp壹,& ampb);//讀取鍵盤輸出,分別存儲在兩個變量中。輸入時,用空格將數字分開。
fun1。壹,& ampb);//執行第壹個交換函數。
printf("%d,%d\n ",a,b);//將交換後的兩個數打印到屏幕上。
fun 2(& amp;壹,& ampb);//執行第二個交換函數。
printf("%d,%d\n ",a,b);//把交換後的兩個數字打印到屏幕上,可以看到數字被改回來了。
}