【C语言】两数交换
#include <stdio.h> //使用局部变量交换失败 //实际上交换的是p1,p2的值 void swap(int p1, int p2) { int temp; temp = p1; p1 = p2; p2 = temp; } int main() { int a = 3, b = 4; printf("交换前:a=%d b=%d\n", a, b); swap(a, b); printf("交换后:a=%d b=%d\n", a, b); return 0; } //使用全局变量,修改成功 int a, b; void swap() { int t; t = a; a = b; b = t; } int main() { a = 3, b = 4; printf("交换前:a=%d b=%d\n", a, b); swap(); printf("交换后:a=%d b=%d\n", a, b); return 0; } //使用指针,交换成功 //我们可以通过指针修改变量的值 void swap(int *p1, int *p2) { int temp; temp = *p1; *p1 = *p2; *p2 = temp; } int main() { int a = 3, b = 4; printf("交换前:a=%d b=%d\n", a, b); swap(&a, &b); printf("交换后:a=%d b=%d\n", a, b); return 0; }