当我更新了MacOS和XCode时,我遇到了这个问题。
正如您在第一张图片中看到的那样,如果我没有将cout
放入第二条cin
行"请输入数字"在第11行,这一行放在cout
语句之后,这使得程序运行不正常。
接受cin
endl
以下是该计划的输出:
但是,如果我将"Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr
--with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.38)
Target: x86_64-apple-darwin16.5.0
Thread model: posix
InstalledDir:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin"
放在该行的末尾"输入数字"然后代码正常运行。
我已经重新安装了XCode,问题仍然存在。它也影响了我真正讨厌的旧项目。
这是我的Macbook上的编译器版本
{{1}}
我真的希望有人可以帮我解决这个问题。我不知道这个错误来自XCode或GCC。
答案 0 :(得分:1)
std::cin
和std::cout
绑定,这意味着std::cin
上的提取操作首先刷新std::cout
。所以你的代码应该像你期望的那样工作。如果它没有,那么你的代码使用的标准库不符合语言定义(不太可能),或者你的控制台窗口中有一些时髦的东西(更有可能)。尝试从命令行运行该程序。