交换a和b的几种方法分析

it2025-04-26  17

交换a和b的方法

1 直接函数交换不成功2 指针交换成功

1 直接函数交换不成功

#include <stdio.h> void swap(int a ,int b) { printf("swap a=%d b=%d\n",a,b); int t = a; a = b; b =t; printf("swap end a=%d b=%d\n",a,b); } int main() { int a = 1; int b = 10; swap(a,b); printf("a=%d b=%d\n",a,b); return 0; }

打印: swap a=1 b=10 swap end a=10 b=1 a=1 b=10

2 指针交换成功

#include <stdio.h> void swap(int *a ,int *b) { printf("swap a=%d b=%d\n",*a,*b); int t = *a; *a = *b; *b =t; printf("end swap a=%d b=%d\n",*a,*b); } int main() { int a = 1; int b = 10; swap(&a,&b); printf("a=%d b=%d\n",a,b); return 0; }

swap a=1 b=10 end swap a=10 b=1 a=10 b=1

最新回复(0)