首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

c语言-两个数交换的4种方法

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;

}

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210312A01Q5E00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券