不使用中间变量交换两个变量的值
题:a = 10,b = 15不使用中间变量交换两个变量的值
今天遇到这个题目,我直接按照我这个写法,面试的人说我写错了,我真的无言反驳,我的代码:
int a = 10,b = 15; b = b - a; a = a + b; b = a - b;
虽说和网上的刚开始相加有点不同,但是我这个思路没错误啊,我路上还想了挺久的,回家直接实验一波,直接运行看结果:
static void Main(string[] args) { int a = 10,b = 15; Debug.Write($"a:{a};b:{b}"); b = b - a; a = a + b; b = a - b; Debug.Write($"a:{a};b:{b}"); }
第一次输出:a:10;b:15
第二次输出:a:15;b:10
以下是网上的一些答案:
int a=10; int b=15; a=a+b; b=a-b; a=a-b;