#include<iostream> using namespace std; void main(){ cout<<"hello C++尀n"; }为何编译成功却无法执行?

2024-12-01 13:06:55
推荐回答(3个)
回答1:

不知道你用的是在什么操作系统下,用什么编译器进行编译的。在windows下,用VC6.0的话可以运行。但这个程序确实存在很多问题。
首先,写一下标准的C++代码,如下所示:
#include
using namespace std;
int main()
{
cout<<"hello C++"< return 0;
}
你若按上面的方式写的话,不管是在windows下还是在linux下都可以编译运行。你给出的代码主要有两个问题,第一个问题是,main函数的返回类型不管是在C语言中,还是在C++语言中,都只能是int 类型。而你写的是void 类型,这其实是一错误,不过早期有很多人这样写,仍可运行程。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main( ) { /* ... */ } is not and never has been C++, nor has it even been C.( void main( ) 从来就不存在于 C++ 或者 C )。C99 标准中,只有以下两种定义方式是正确的:
int main( void )
int main( int argc, char *argv[] )
C++98 中定义了如下两种 main 函数的定义方式:
int main( )
int main( int argc, char *argv[] )
只有上面两种方式才是标准的,不管是在windows下还是在Linux下都是标准的。若声明为void类型的话,在linux下用g++编译器编译程序,可能不能通过编译或运行。
第二个问题是换行的问题。在C中换行用的是转义字符'\n',而在C++中一般用的是控制符endl。
学习编写程序应注意代码风格和一些细节问题等。

回答2:

程序没有问题,
应该是编译器问题。
如果是c++新手的话,建议用C++Builder开发工具会比较好用点。

回答3:

程序没问题,vc6.0运行良好
你重新启动vc试试,有时候会出现卡在编译的情况