void main()和 int main (void)有什么区别(C和C++中的也算)

如题所述

其实没什么区别。

void main() 这么定义只是说明main函数没有返回值
int main(void)和int main()是一样的,括号里没有东西就相当于void,只是说明main函数有一个int类型的返回值

C语言的规范里面要求main函数需要返回一个int类型的返回值来告诉操作系统这个程序是执行正确还是执行错误。执行正确返回0,执行错误返回非0。但是目前操作系统都不去判断这个返回值,所以你写成void main()还是int main()其实是一样的,没有什么区别。不过既然有规范,还是推荐写成int main()这种形式。

对于C和C++来说还有一点区别。C++加强了C的一些检查,我们知道C语言是弱类型的语言,编译检查没有那么严格。C++其实也是弱类型的语言(相对于java、c#这些高级语言),但是比C的检查稍微严格了一些。

如果我这么写
void main()
{
return 0;
}
声明的main函数没有返回值,但是代码里面我强制return 0,这个在C语言里面只会触发一个告警,但是在C++里面就是编译错误,检查严格了一下。

int main()
{
return;
}
这么写一样,声明需要返回一个int类型,但是代码里面不返回的话,C语言编译器不会报错但是C++就会报错。追问

返回值只要不是0,就一定执行错误么

追答

C语言是这么规范的而已,返回0代表执行正确,返回非0代表执行错误。

规范都是人定的,后面不是也说了嘛。现在的操作系统没人去判断这个,所以返回什么都无所谓了。

追问

恩,

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-10
前者是返回为空,后者输入参数为空
第2个回答  2015-01-10
前者是返回值为空,后者是输入参数为空
第3个回答  2015-01-10
void main() 相当于
int main(){
;
return 0;}
还有main(void)相当于main()追问

必须有返回值?

追答

必须的,一个函数没返回值,就相当于没出口,那要这个函数干嘛?怎么解决问题?

追问

可其他人说void main()返回值为空,可以没有返回值额

追答

可以没有返回值 ,就是void,下面的哥们好细致!就像他说的那样

追问

恩,

第4个回答  2015-01-10
学的内容有些不同追问

。。。

追答

int 是整型的意思

()内是有内容的,只是省略了而已

...int main (void)有什么区别(C和C++中的也算)
其实没什么区别。void main() 这么定义只是说明main函数没有返回值 int main(void)和int main()是一样的,括号里没有东西就相当于void,只是说明main函数有一个int类型的返回值 C语言的规范里面要求main函数需要返回一个int类型的返回值来告诉操作系统这个程序是执行正确还是执行错误。执行正确返回0,执...

void main()和int main(void)的区别
void main 和 int main的区别就是有无返回值。在int main 可以出现非 int 类型的东西。在写代码时,一个函数要么有返回值,要么没有返回值没有返回值就用void来表示。 main函数同样的,在没有返回值时加个void 。有的编译器必须main要有返回值 int , 那就写成int main 。至于什么时候需要哪种...

...void main()”和“int main(void)”,有什么区别,标准写法是什么...
没有什么标准写法,两种都可以。一般单个程序中用不着main的返回值,可以直接写void main。但如果是一个比较大的工程,你可能需要知道某个子程序的执行结果,这时候那个子程序的main就可以写成int main了,这样就可以根据返回值来知道子程序是否正确执行,或出了什么错误 ...

int main和void main的区别
int main和void main是C和C++编程语言中主函数的两种不同形式。区别包括返回值类型、标准规范、兼容性、可移植性等。1、返回值类型 int main有一个整数类型的返回值,表示程序的执行状态,一般约定返回0表示程序正常结束,非零值表示异常终止。而void main没有返回值。2、标准规范 根据C和C++的标准规范...

c++编程时,void main ()与int main ()差别只是不用加return 0?,那_百 ...
void main() 与int main () 差别是一个是没有返回值,一个是有一个整形的返回值,如果遇到另外一个程序需要用到你程序的返回值时,那么void main()将不能完成任务,这样同学你可懂?

C++编程语言中,int main() 和void main(),有什么区别
1、区别是main()函数是否有返回值。2、void定义的函数没有返回值,int定义的函数返回整型值。3、void,字面意思是“无类型”,常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明,有注释和限制程序的作用。

看了很多c语言的代码,请教main(),void main()和int main(void)的...
int main( int argc, char *argv[] )4.在 C 和 C++ 中,不接收任何参数也不返回任何信息的函数原型为“void foo(void);”。可能正是因为这个,所以很多人都误认为如果不需要程序返回值时可以把main函数定义成void main(void) 。然而这是错误的!main函数的返回值应该定义为 int 类型,C 和 ...

看了很多c语言的代码,请教main(),void main()和int main(void)的...
int main( int argc, char *argv[] )4.在 C 和 C++ 中,不接收任何参数也不返回任何信息的函数原型为“void foo(void);”。可能正是因为这个,所以很多人都误认为如果不需要程序返回值时可以把main函数定义成void main(void) 。然而这是错误的!main函数的返回值应该定义为 int 类型,C 和 ...

void main()和int main(void)的区别
在 C++ 标准里头,主函数只有两种形式:int main(void) 和 int main(char agrc, int *agrv[]),适当的变形有int main() 和int main(char argc, int **argv)。至于其他情况,标准没定义,所以最好不要写出void main()这类的非标准风格的代码。

C++有的书上用Void main(),有的书上用int main(void),用后者还要写上re...
既然只有一种类型,那么就可以不写,后来的改进版为了兼容以前的代码于是规定:不明确标明返回值的,默认返回值为int,也就是说 main()等同于int main(),而不是等同于void main()。在C99中,标准要求编译器至少给 main() 这种用法来个警告。(1) C语言中 在 C89 中,main( ) 是可以接受的。

相似回答