【问题标题】:C++ 1st program in visual studio 2008 express editionVisual Studio 2008 速成版中的 C++ 第一个程序
【发布时间】:2012-05-19 07:03:18
【问题描述】:

我已经用 C++ 编写了一个基本代码

#include <iostream>
using namespace std;
void main()
{
    cout <<"its my programm";
}

当我编译它时,cmd 行会出现一秒钟并终止显示。它在调试窗口中向我显示了这个输出。

'while.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll'
'while.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll'
'while.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcp90d.dll'
'while.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcr90d.dll'
The program '[1480] while.exe: Native' has exited with code 0 (0x0).

帮我解决这个问题。

【问题讨论】:

  • 你忘了问问题。您的调试输出看起来完全正确。您的输出出现在程序的控制台中,但是当您的程序结束时,它的控制台也结束了。
  • 您的主文件无效。它必须返回int
  • @Cicada:MS Visual C++ 接受void 作为main 函数的返回类型。
  • @MD.Unicorn 这不是标准的,它是 Microsoft 扩展。
  • 因此visual-c++ 标签,我猜。无论如何,这是微软对标准的较小罪行之一:-)

标签: c++ visual-studio-2008 visual-c++


【解决方案1】:
#include <iostream>
using namespace std
int main() {
    cout << "Hello World";
    cin.get();
    return 0;
}

这应该可以。控制台在您查看程序之前退出。使用 cin.get() 将保持程序运行,直到您按下回车键。

在相关说明中,您的 main() 函数确实应该是 int 而不是 void。我很确定有些编译器不允许使用 void main()。

【讨论】:

    【解决方案2】:

    那是因为你的控制台在你看到输出之前就关闭了。

    尝试使用F10 逐步执行您的程序。或者在 return 之前放置一个锁定语句。

    另外,main 不应该返回 int

    【讨论】:

      【解决方案3】:

      试试这个:

      #include <iostream>
      using namespace std;
      void main()
      {
          cout <<"its my programm";
          cin.get();
      }
      

      然后您必须按 Enter 关闭控制台窗口。

      【讨论】:

        猜你喜欢
        • 2011-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-07
        相关资源
        最近更新 更多