1.使用第三方变量进行交换,代码如下:
#include<stdio.h>
int main()
{
int a=10;
int b=20;
int tmp=a;//定义第三方变量存储a的值 -> tmp=10
a=b;//将b的值给a -> a=20
b=tmp;//将tmp的值给b -> b=10
printf("a=%d,b=%d\n",a,b);
return 0;
}
直接使用变量进行交换,在主函数中可直接实现变量值的交换,但是如果定义成函数,在调用时,无法通过形参或者返回值返回到主函数中,这时,就需要采取指针进行值的交换。
2.使用指针交换,具体实现过程如下:
#include<stdio.h>
void Swap(int *a,int *b)
{
int tmp=*a;
*a=*b;
*b=tmp;
}
int main()
{
int a=10;
int b=20;
Swap(&a,&b);
printf("a=%d,b=%d\n",a,b)

本文探讨了在C语言中如何使用指针进行变量交换,包括使用第三方变量、仅使用指针以及不使用第三方变量的交换方法。特别地,文章详细分析了不使用第三方变量时的位运算和加减法实现,并指出在特定情况下,如数组元素为奇数时可能出现的问题及解决方案。
最低0.47元/天 解锁文章

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



