c语言面试经典题 您所在的位置:网站首页 c语言内存面试题 c语言面试经典题

c语言面试经典题

#c语言面试经典题| 来源: 网络整理| 查看: 265

c语言面试经典题 原创

酸酸的果冻 2023-03-18 23:55:19 ©著作权

文章标签 位异或 文章分类 C/C++ 后端开发

©著作权归作者所有:来自51CTO博客作者酸酸的果冻的原创作品,请联系作者获取转载授权,否则将追究法律责任

题:在不创建第三个变量的情况下实现a=3,b=5,两个数的交换。

int a = 3; int b = 5; printf("交换前:a=%d b=%d\n", a, b); a = a ^ b; b = a ^ b; a = a ^ b; printf("交换后:a=%d b=%d\n", a, b);

上面为第一种方法,通过按(二进制)位异或‘^’实现。

int a = 3; int b = 5; printf("交换前:a=%d b=%d\n", a, b); a = a + b; b = a - b; a = a - b; printf("交换后:a=%d b=%d\n", a, b);

第二种方法,通过a,b两个数的加减实现。

收藏 评论 分享 举报

上一篇:c代码实现冒泡排序

下一篇:统计一个整数二进制中1的个数



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有