//法一(正常方法)
int main()
{
int a = 3;
int b = 5;
int tmp = 0;//临时变量
printf("before:a=%d b=%d\n", a, b);
tmp = a;
a = b;
b = tmp;
printf("after:a=%d b=%d\n", a, b);
return 0;
}
//法二(加减法) 有缺陷 a=a+b超出范围就可能出错(可能会溢出)
int main()
{
int a = 3;
int b = 5;
printf("before:a=%d b=%d\n", a, b);
a = a + b;
b = a - b;
a = a - b;
printf("after:a=%d b=%d\n", a, b);
return 0;
}
//法三(异或法)
int main()
{
int a = 3;
int b = 5;
printf("before:a=%d b=%d\n", a, b);
a = a ^ b;//a 011 b 101 异或结果为110
b - a ^ b;
a = a ^ b;
printf("after:a=%d b=%d\n", a, b);
return 0;
}
交换两个int变量的值,不能使用第三个变量。即a=3,b=5,交换之后a=5,b=3。
失落的香蕉2024-01-20 6:05
相关推荐
Chan162 分钟前
【 SpringCloud | 微服务 MQ基础 】LucianaiB5 分钟前
如何做好一份优秀的技术文档:专业指南与最佳实践面朝大海,春不暖,花不开29 分钟前
自定义Spring Boot Starter的全面指南得过且过的勇者y29 分钟前
Java安全点safepointweixin_5275504033 分钟前
初级程序员入门指南夜晚回家1 小时前
「Java基本语法」代码格式与注释规范斯普信云原生组1 小时前
Docker构建自定义的镜像wangjinjin1801 小时前
使用 IntelliJ IDEA 安装通义灵码(TONGYI Lingma)插件,进行后端 Java Spring Boot 项目的用户用例生成及常见问题处理wtg44521 小时前
使用 Rest-Assured 和 TestNG 进行购物车功能的 API 自动化测试白宇横流学长2 小时前
基于SpringBoot实现的大创管理系统设计与实现【源码+文档】