Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我目前正在学习 C++ 入门课程,教授给了我们以下示例:
unsigned int TEST = -1; cout << TEST;
现在,在他的机器上,TEST 作为整数的最大值返回,因为他强制下溢。但在我的机器上,它返回为 0。
这种行为编译器依赖还是什么?换句话说,为什么我的机器返回 0 而他的机器返回最大值?
此行为是否依赖于编译器
不,它取决于平台,因为平台之间的最大值unsigned int可能会有所不同。但是所有符合标准的编译器都将显示可表示的最大值unsigned int- 从不为 0。
unsigned int
为什么我的机器返回 0 而他的机器返回最大值?
两种可能的选择是:这不是在您的机器上产生输出的程序,或者您机器上的编译器被破坏了。