开发笔记

  • 首页
  • 工具箱
三味线的博客
  1. 首页
  2. C
  3. 正文

无中间变量交换swap(a,b)

2018-04-18 1054点热度 0人点赞 0条评论
#include <stdio.h>
/*
加减法
整型、浮点型(损失精度)
*/
void swap1(int *a,int *b)
{
    *a=*a+*b;
    *b=*a-*b;
    *a=*a-*b;
}
/*
异或法
整型
*/
void swap2(int *a,int *b)
{
    *a=*a^*b;
    *b=*a^*b;
    *a=*a^*b;
}
/*
乘除法
整型、浮点型(损失精度),b!=0
*/
void swap3(int *a,int *b)
{
    *a=(*a)*(*b);
    *b=(*a)/(*b);
    *a=(*a)/(*b);
}
int main()
{
    int a=3,b=4;
    swap1(&a,&b);
    printf("%d %d\n",a,b);
    swap2(&a,&b);
    printf("%d %d\n",a,b);
    swap3(&a,&b);
    printf("%d %d\n",a,b);
    return 0;
}
标签: C 算法
最后更新:2020-06-06

三味线

不吃咸鱼的喵

点赞
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

Captcha Code

COPYRIGHT © 2022 voidcat.cn. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备18010095号-1