想用一句话搞定交换:
1 int a = 2, b = 5; 2 cout << "a = " << a << ", b = " << b << endl; 3 a = (a + b) - (b = a); 4 cout << "a = " << a << ", b = " << b << endl;
然而输出:
a = 2, b = 5 a = 2, b = 2
这明显是先运算了b=a,然后才a+b,再整体做减法,带上了小括号也是不行的。。。
但是用手机上的编译器又是可以的,应该不是C++语言的问题,是VS编译器的问题。
原文地址:https://www.cnblogs.com/basilguo/p/c_plus_plus_1.html
时间: 2024-10-21 10:12:00