用C-Free写 void 程序,为什么提示错误:main must return int

2024年11月28日 13:48
有4个网友回答
网友(1):

哪本书教你写的void main()?扔了它

新标准中,main函数的格式只有下面几个
int main()
int main(int argc, const char *argv[])
int main(int argc, const char *argv[], const char *env[])

C++中,main函数最后的的return 0;可以省略

网友(2):

改 int main()
{
return 0;
}

网友(3):

int main()
{
……
return 0;
}

网友(4):

这是因为有的C编译器要求main()函数必须要有一个int的返回值。用以获知main()函数的执行情况。
应该将vaoi main()修改为:
int main(void)
或int main(int argc, const char *argv[])
int main(int argc, const char *argv[], const char *env[])

一般main()函数正常运行结束,就返回一个0;
如果出错,就返回相应的int型的出错代码值(由编程者约定)。

在 C89 标准中,main( ) 是可以接受的。Brian W. Kernighan 和 Dennis M. Ritchie 的经典巨著 The C programming Language 用的就是 main( )。不过在最新的 C99 标准中,只有以下两种定义方式是正确的:

int main(void){/*百度百科示例代码*/}//整数类型主函数(无类型)

int main(int argc,char **argv)//整数类型主函数(整数类型 统计参数个数,字符类型*数组指针至字符[])

main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统)。
  如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return 语句,虽然没有这个必要,但这是一个好的习惯。
  也就是说在最新的C语言标准中强制要求main函数的返回值类型为int,main函数的返回值是传递给操作系统,让操作系统判断程序的执行情况(是正常结束还是出现异常)