#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
a=10;
b=12;
a=a+b-(b=a);
printf("%d\t %d\n",a,b);
return 0;
}
这一段代码不同的编译器会给出不同的结果。在code block下实现了a b值得交换。在VS下a b最后结果相同均为a.
code block编译时给出过警告b可能未定义。类似这样的代码尽量避免。因为可能得不到预期的值。无论用多少个变量,程序的正确执行才是第一位的!