使用函数实现两个数的交换。
使用此方法不创建中间变量,不需要考虑形参和实参的影响.
#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;
}