一个BUG?Visual Studio 2017 C++编写交换两个整数
Posted BasilGuo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个BUG?Visual Studio 2017 C++编写交换两个整数相关的知识,希望对你有一定的参考价值。
想用一句话搞定交换:
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编译器的问题。
以上是关于一个BUG?Visual Studio 2017 C++编写交换两个整数的主要内容,如果未能解决你的问题,请参考以下文章
C++ OpenGL 与 Visual Studio Release-Config-Bug