main()函数前面一定有void?
main()函数前面一定有void?为什么有的程序调试时没有返回值是有错误
而有的没有报错
----------------解决方案--------------------------------------------------------
不一定,!
main()
是个比较特殊的函数! 在较旧的C标准中,不写任何返回值类型时,会默认有一个int 型的返回值。现在的大多数编译器要求要么显式写一个返回类型,要么写一个void表示无返回值
初学者用的Tobur C 2.0 编译器好像不要求 写返回值类型也能通过编译!
----------------解决方案--------------------------------------------------------
/* 标准写法 */
int main(void)
{
return 0;
}
/* C标准中从未出现过 void main(void) */
----------------解决方案--------------------------------------------------------
是不是因为C的要求太宽松了,才会出现这种非标准写法?
----------------解决方案--------------------------------------------------------
历史遗留问题
COSDOS给出了标准写法
建议LZ采用
----------------解决方案--------------------------------------------------------
当操作系统喊main函数干一件事`````
MAIN函数也干完了````但是他不告诉操作体统到底干得怎么样```
所以操作系统就不知道这件事被干得怎么样```
假如你老板喊你去送货`````然后你回来了````但是不给年老板报告结果``
你老板就不知道到底这件事干得如何```
所以呢````就不给你发工资了```
----------------解决方案--------------------------------------------------------
应该说一定不能有void
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]cosdos[/underline][/bold] 于 2007-12-5 23:42 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1133308&ptid=190656][/url]
/* 标准写法 */
int main(void)
{
return 0;
}
/* C标准中从未出现过 void main(void) */
/* 标准写法 */
int main(void)
{
return 0;
}
/* C标准中从未出现过 void main(void) */
标准写发?
----------------解决方案--------------------------------------------------------