如何克服在 Visual Studio-2013 for C++ 中输入或编译后输出控制台消失的问题?

问题描述

我是 C++ 编码和 Visual Studio 环境的新手。我用于查找数字的 sqrt 的简单代码正在编译甚至运行,但在将数字作为输入后控制台消失了,我留下了调试消息和程序的最终消息,退出代码为 0。基本上没有显示任何输出

#include <cmath>
#include <iostream>

int main()
{
    double x{ 0.0 };

    std::cout << "Enter x-";
    std::cin >> x;

    if (x >= 0)
        std::cout << "\nSqrt(" << x << ") = " << std::sqrt(x) << std::endl;
    else
        std::cout << "\nWrong Value - cannot compute sqrt\n";
}

代码看起来没问题,它可以在在线编译器上运行。我曾尝试从链接器->系统->子系统->控制台(/SUBSYstem:CONSOLE)检查“控制台”选项。但没有任何效果

似乎还生成了某些调试消息,其中一些是我在下面展示的 -

......
'Project2.exe' (Win32): Loaded 'C:\Program Files (x86)\Citrix\System32\CtxGraphicsHelper.dll'. Cannot find or open the PDB file.
'Project2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\setupapi.dll'. Symbols loaded.
'Project2.exe' (Win32): Loaded 'C:\Program Files (x86)\Citrix\System32\mmhook.dll'. Cannot find or open the PDB file.
'Project2.exe' (Win32): Loaded 'C:\Program Files (x86)\Citrix\System32\Sfrhook.dll'. Cannot find or open the PDB file.
'Project2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\wtsapi32.dll'. Symbols loaded.
The thread 0x498 has exited with code 0 (0x0).
The thread 0x2500 has exited with code 0 (0x0).
The thread 0x30f0 has exited with code 0 (0x0).
'Project2.exe' (Win32): Loaded 'C:\Program Files (x86)\Citrix\System32\ShellHook.dll'. Cannot find or open the PDB file.
'Project2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shell32.dll'. Symbols loaded.
'Project2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\windows.storage.dll'. Symbols loaded.
'Project2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shlwapi.dll'. Symbols loaded.
'Project2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\SHCore.dll'. Symbols loaded.
'Project2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\profapi.dll'. Symbols loaded.
'Project2.exe' (Win32): Loaded 'C:\Program Files (x86)\Citrix\System32\scardhook.dll'. Cannot find or open the PDB file.
'Project2.exe' (Win32): Loaded 'C:\Program Files (x86)\Citrix\System32\twnhook.dll'. Cannot find or open the PDB file.
'Project2.exe' (Win32): Loaded 'C:\Program Files (x86)\Citrix\System32\cxinjime.dll'. Cannot find or open the PDB file.
The program '[10912] Project2.exe' has exited with code 0 (0x0).

我尝试检查工具->调试->符号->微软符号服务器。找到了一些 PDF 文件,有些则没有。我想找到这个问题的根源,基本上让我的程序按照其编码的方式运行,输出控制台接受输入并显示结果。

解决方法

您可以在代码末尾临时添加简单的一行:

system("pause");

不要忘记包括:#include <cstdlib>