int类型的main函数为什么有时可以没有返回值也可以运行,而有时必须有呢?
C/C++,注意我问的是int类型的main函数啊,为什么啊,不是int类型的main函数吗,VC++6.0啊...
C/C++,注意我问的是int类型的main函数啊,为什么啊,不是int类型的main函数吗,VC++6.0啊
展开
4个回答
展开全部
按照ANSI C89/99的标准,main函数只有下面两种形式是符合标准的
int main(void) 如果main没有参数,那么括号内必须写void
{
/*=====代码=====*/
return 0;
}
int main(int argc, char *argv[])
{
/*====代码=========*/
return 0;
}
因为返回类型是int类型的,所以必须要有返回值,
规定返回0 的作用: 当这个进程进程执行完之后,提供一个返回值给操作系统。用于操作系统后面的一些处理。
你看的很多教材上main函数的写法比较多,编译的确没有问题,但是不推荐。
这是因为编译器考虑到很多方面的因素、并没有完全按照标准的要求实现。所以保留了这些用法。
int main(void) 如果main没有参数,那么括号内必须写void
{
/*=====代码=====*/
return 0;
}
int main(int argc, char *argv[])
{
/*====代码=========*/
return 0;
}
因为返回类型是int类型的,所以必须要有返回值,
规定返回0 的作用: 当这个进程进程执行完之后,提供一个返回值给操作系统。用于操作系统后面的一些处理。
你看的很多教材上main函数的写法比较多,编译的确没有问题,但是不推荐。
这是因为编译器考虑到很多方面的因素、并没有完全按照标准的要求实现。所以保留了这些用法。
展开全部
饿,这个我不知道了,网上看了下,有的说可能是编译器的问题,反正尽量按标准写吧
写上int main 写上return 0;
写上int main 写上return 0;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么语言?如果是弱类型的语言,0/false/void是可以通用的,除非===做强制判定。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言?规定语言返回一个值,通常返回0,但是用visual c 6.0的时候将main定义为void也可以不返回值
追问
但是有的时候不加返回值会报错,有时只是警告,什么时候必须加呢?我用的vc++6.0
追答
我也遇到过同样的问题,int main最好还是加一个return 0;吧,加了肯定没错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询