日期:2014-05-20 浏览次数:20981 次
namespace test
{
using System;
class Program
{
static void Main(string[] args)
{
int a, b;
a = 100;
b = 3;
b = a + 0 * (a = b);
Console.WriteLine(a + "," + b);
}
}
}
//000011: b = a + 0 * (a = b); IL_0005: ldloc.0 IL_0006: ldloc.1 IL_0007: stloc.0 IL_0008: stloc.1
b = a + 0 * (a = b);
0000002f mov eax,dword ptr [ebp-8]
00000032 mov dword ptr [ebp-10h],eax
00000035 mov eax,dword ptr [ebp-0Ch]
00000038 mov dword ptr [ebp-8],eax
0000003b mov eax,dword ptr [ebp-10h]
0000003e mov dword ptr [ebp-0Ch],eax
int a, b; a = 100; b = 3; a^=b; b^=a; a^=b;
------解决方案--------------------
不错,但是可读性不太好。
------解决方案--------------------
int newa, newb;
for (int i = 0; i < 10000000; i++)
{
newa = b;
newb = a;
}