C语言只用一行代码交换两个整型变量的值,本人在vc++2010下测试这个代码不对,最后返回的结果是a=10,b=10,在C#下面测试这个代码,返回的结果更离谱,居然是a=20,b=20,都没有交换,不知道为什么。
#include <stdio.h>
 
int main()
{ 
    int a=10,b=20;
    printf("A:%d B:%d\n",a,b);
    a=(a+b)-(b=a); //SWAPS
    printf("A:%d B:%d\n",a,b);
    return 1;
}




