黑马程序员技术交流社区
标题:
学习C#基础第一节老师留下的一个悬念
[打印本页]
作者:
duanhuilin
时间:
2012-11-14 15:21
标题:
学习C#基础第一节老师留下的一个悬念
int number1=5;
int number2=10;
将这两个变量的值互换,老师将的是需要借助第三个变量来实现。那么我现在不用第三个变量来实现这一效果如下:
int number1 = 5;
int number2 = 10;
number2 -= number1; //number2=5
number1 += number2;
Console.WriteLine("改变后number1的值是:{0},number2的值是:{1}", number1, number2);
Console.ReadKey();
作者:
王新阳
时间:
2012-11-14 16:15
number2-=number1;也可以直接写number2=number1;
作者:
吴瑞祥
时间:
2012-11-14 23:10
int number1 = 5;
int number2 = 10;
number2 -= number1; //number2=5
number1 += number2;
Console.WriteLine("改变后number1的值是:{0},number2的值是:{1}", number1, number2);
Console.ReadKey();
是假象,并不能实现交换
number2 = number2 - number1;
number1 = number1 + number2;带入第一个number1 = number1 + number2 - number1;就是number1 =number2;
但第一个式子的number2 = number2 - number1;并不能保证number2 = number1;
你这个情况只有在number2 - number1 = number1的时候实现,
作者:
武江英
时间:
2012-11-15 09:05
顶楼上的,这种情况只符合两个数为1:2的情况。如果是用户输入的话。不一定会按这个规律的数。
作者:
王新阳
时间:
2012-11-15 10:29
这样应该适合任何数了吧。
int number1 = 3;
int number2 = 12;
number2 = number1 + number2;//number2=15;
number1 = number2 - number1;//number1=12;
number2 = number2 - number1;//number2=3;
Console.WriteLine("number1={0},number2={1}", number1, number2);
Console.ReadKey();
作者:
舒远
时间:
2012-11-15 14:08
int a = 10;
int b = 6;
b = (a+ b -(a = b));
Console.WriteLine(a);
Console.WriteLine(b);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2