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; }
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; }