1. 程式人生 > >C程式設計--指標(swap函式)

C程式設計--指標(swap函式)

swap()函式

方法一:指標法
實參:&a
形參:*x

#include<stdio.h>

void MySwap(int *x,int *y);

int main(){
	int a=5,b=9;
	printf("交換前:a=%d,b=%d \n",a,b);

	MySwap(&a,&b);
	printf("交換後:a=%d,b=%d \n",a,b);
	return 0;
}

void MySwap(int *x,int *y){
	int temp=*x;//如果寫成int *p=x;x=y;y=p;則還是無法改變實參的值
	*x=*y;
	*y=temp;
}

方法二:引用法
實參:a
形參:&x

#include<stdio.h>

void MySwap(int &x,int &y);

int main(){
	int a=5,b=9;
	printf("交換前:a=%d,b=%d \n",a,b);

	MySwap(a,b);
	printf("交換後:a=%d,b=%d \n",a,b);
	return 0;
}

void MySwap(int &x,int &y){
	int temp=x;
	x=y;
	y=temp;
}

對於函式體的編寫方式:

//方法一: 基本方法
/*
int temp = 0;
temp = b;
b = a ;
a = temp;
*/


//方法二: 數學方法
/*
a = a + b;
b = a - b;
a = a - b;
*/

參考部落格:
1.https://blog.csdn.net/duan_jin_hui/article/details/50879338
2.https://blog.csdn.net/hyqsong/article/details/51371381
3.https://blog.csdn.net/Scalpelct/article/details/52226415
4.https://blog.csdn.net/litao31415/article/details/40183647