引自交换两个变量的值这个帖子:
菜鸟版:
int temp = a;
a = b;
b = temp;
入门版:
a = a + b;
b = a - b;
a = a - b;
高手版:
a = a ^ b;
b = a ^ b;
a = a ^ b;
专家版:
a = b + 0 * (b = a);
在这个帖子中专家版的方法为什么在MyEclipse(或Netbeans)和VC6.0中运行的结果不同啊?
public class JH {
public static void main(String[] args) {
int a=3,b=5;
a=b+0*(b=a);
System.out.println("a="+a+" b="+b);
}
}
在MyEclipse(或Netbeans)中运行结果为:a=5 b=3
#include "stdafx.h"
void main()
{
int a=3,b=5;
a=b+0*(b=a);
printf("a=%d b=%d\n",a,b);
}
在VC6.0中运行结果为:a=3 b=3麻烦哪位高手给说明一下原因啊?
该贴已经同步到 祁焱的微博 |
|