交换a和b的方法
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
本文通过两个示例详细介绍了如何使用C语言实现两个整数变量的交换操作。第一个示例采用直接传递变量的方式尝试交换,但因局部变量的作用域限制而未能改变原始值;第二个示例则通过指针传递变量地址,成功实现了值的交换。

被折叠的 条评论
为什么被折叠?



