1.使用第三个变量来进行替换
#include
int main()
{
int a , b ,c;
printf("请输入a,b的值\n");
scanf("%d %d",&a,&b);
printf("交换前:a = %d,b = %d\n",a,b);
c = a;
a = b;
b = c;
printf("交换后,a=%d,b=%d\n",a,b);
return 0;
}
2.使用一个封装函数来进行交换
#include
int swap ( int *a , int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
return 0;
}
int main()
{
int a,b;
printf("请输入a,b的值\n");
scanf("%d %d",&a,&b);
printf("交换前:a = %d,b = %d\n",a,b);
swap(&a,&b);
printf("交换后:a = %d,b = %d\n",a,b);
return 0;
}
3.使用加减法来进行交换
#include
int main()
{
int a , b;
printf("请输入a,b的值\n");
scanf("%d %d",&a,&b);//如a=10,b=20
a = a + b;//a=30
b = a - b;//b=30-20=10
a = a - b;//a=30-10=20
printf("交换后,a=%d,b=%d\n",a,b);
return 0;
}
4.使用异或来进行交换
#include
int main()
{
int a,b;
printf("请输入a,b两个数的值");
scanf("%d %d",&a,&b);
printf("交换前 a=%d,b=%d\n",a,b);//a=01,b=11
a = a^b;//a=10
b = a^b;//b=10^11=01
a = a^b;//a=10^01=11
printf("交换后 a=%d,b=%d\n",a,b);
return 0;
}
领取专属 10元无门槛券
私享最新 技术干货