好吧,看你这样的回复我就知道你不是一个程序员。
在编程上,写什么代码,怎么写,都是有理由的。比如说要求代码缩进,理由就是代码整洁,便于查看;要求写注释,就是为了让后人能明白。那这里为什么要用int呢?而有的人为什么要用void呢?这个事情不能看别人怎么写的我们就怎么认为,我们得搞清楚为什么。
在其他语言中,是需要区分函数和过程的,函数和过程的区别,简单说,就是一个有返回值,一个没有返回值。比如在Basic里,Sub表示过程,Function表示函数;Delphi里,Procedure表示过程,Function表示函数。而在C或者C++中,是不区分函数还是过程的,它统一用函数的形式表示,而区别就在于Void定义的是没有返回值的,等同于其他语言的过程。
当然,你说的用int定义,其实同样也可以用float, string等等,这些都是变量类型,用他们定义都可以。但是什么时候用函数型的定义,什么时候用过程型的定义,这个要看你程序做什么。
回到上面的那个例子,这个程序里没有做什么事情,只是让计算机输出了一行文字。所以,这个主函数main,完完全全是可以用void来定义的。这个并不是国内教材误人子弟,因为这里用int定义完全没必要。如果按照你的说法,用int定义,那么在函数体里,还需要增加一行 return 0; 因为需要有返回值啊。这样编译出来的可执行文件,比void定义的多了四个字节。在DOS时代,内存大小和程序大小寸土寸金,为什么要多消耗这四个字节呢?毫无意义。
如果你的主函数main需要被其他函数调用,那这个时候你需要考虑给主函数加上返回值类型。我估计你看到的国外的代码,都是这样的,所以你才会认为main的需要加int来定义。
在编程上,写什么代码,怎么写,都是有理由的。比如说要求代码缩进,理由就是代码整洁,便于查看;要求写注释,就是为了让后人能明白。那这里为什么要用int呢?而有的人为什么要用void呢?这个事情不能看别人怎么写的我们就怎么认为,我们得搞清楚为什么。
在其他语言中,是需要区分函数和过程的,函数和过程的区别,简单说,就是一个有返回值,一个没有返回值。比如在Basic里,Sub表示过程,Function表示函数;Delphi里,Procedure表示过程,Function表示函数。而在C或者C++中,是不区分函数还是过程的,它统一用函数的形式表示,而区别就在于Void定义的是没有返回值的,等同于其他语言的过程。
当然,你说的用int定义,其实同样也可以用float, string等等,这些都是变量类型,用他们定义都可以。但是什么时候用函数型的定义,什么时候用过程型的定义,这个要看你程序做什么。
回到上面的那个例子,这个程序里没有做什么事情,只是让计算机输出了一行文字。所以,这个主函数main,完完全全是可以用void来定义的。这个并不是国内教材误人子弟,因为这里用int定义完全没必要。如果按照你的说法,用int定义,那么在函数体里,还需要增加一行 return 0; 因为需要有返回值啊。这样编译出来的可执行文件,比void定义的多了四个字节。在DOS时代,内存大小和程序大小寸土寸金,为什么要多消耗这四个字节呢?毫无意义。
如果你的主函数main需要被其他函数调用,那这个时候你需要考虑给主函数加上返回值类型。我估计你看到的国外的代码,都是这样的,所以你才会认为main的需要加int来定义。