Visual Studio 2008 速成版中的 C++ 第一个程序

Posted

技术标签:

【中文标题】Visual Studio 2008 速成版中的 C++ 第一个程序【英文标题】:C++ 1st program in visual studio 2008 express edition 【发布时间】: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++ 标签,我猜。无论如何,这是微软对标准的较小罪行之一:-) 【参考方案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 关闭控制台窗口。

【讨论】:

以上是关于Visual Studio 2008 速成版中的 C++ 第一个程序的主要内容,如果未能解决你的问题,请参考以下文章