函式形參與實參的體會與對比

Lange_Taylor發表於2019-03-28

使用函式實現兩個數的交換。
使用此方法不建立中間變數,不需要考慮形參和實參的影響.

#include <stdio.h>
#include <stdlib.h>
void Swap(int a,int b) {
	a = a + b;
	b = a - b;
	a = a - b;
	printf("%d\n", a);
	printf("%d\n", b);
}
int main() {
    int x = 10;
	int y = 20;
	Swap(x, y);
	system("pause");
	return 0;
}

1.函式形參是實參的一份拷貝
2.函式內部修改形參無法對實參造成影響.
3.必須通過傳指標的方式,通過間接訪問操作符來修改函式的變數
4.形如這個題中使用指標作為引數並修改函式外部變數的操作,把這樣的引數成為輸出型引數

#include <stdio.h>
#include <stdlib.h>
void Swap(int* a, int* b) {
	int tmp = *a;
	*a = *b;
	*b = tmp;
}
int main() {
   int x = 10;
	int y = 20;
	Swap(&x, &y);
	printf("%d %d\n", x, y);
	system("pause");
	return 0;
}

相關文章