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

 我来答
百度网友95af61b
2010-10-14 · 超过13用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:29.6万
展开全部
不知道你用的是在什么操作系统下,用什么编译器进行编译的。在windows下,用VC6.0的话可以运行。但这个程序确实存在很多问题。
首先,写一下标准的C++代码,如下所示:
#include<iostream>
using namespace std;
int main()
{
cout<<"hello C++"<<endl;
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。
学习编写程序应注意代码风格和一些细节问题等。
young8010
2010-10-14 · 超过41用户采纳过TA的回答
知道答主
回答量:171
采纳率:0%
帮助的人:136万
展开全部
程序没有问题,
应该是编译器问题。
如果是c++新手的话,建议用C++Builder开发工具会比较好用点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tanarri
2010-10-14 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5123
采纳率:33%
帮助的人:8156万
展开全部
程序没问题,vc6.0运行良好
你重新启动vc试试,有时候会出现卡在编译的情况
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式