void的作用在于:
(1)对函数返回的限定;
(2)对函数参数的限定。
先给一个例子定义函数
返回值函数名(参数1,参数2,参数3,.......)
{内容}
int sum (int a,int b){int c;c=a*b;return c;}
其中第一个int是返回值就是别的函数调用此函数时这个函数给他的一个值。
形式一:
如果调用时不需要返回值,则函数写为
voidsum(inta,intb){....}此时函数没有返回值
形式二:
如果不需要参数则intsum(void){...}
此时void的意义为空,就是没有参数的意思
形式三:
如果都不要则为voidsum(void);
所以返回之前的问题,c语言函数调用后必须带回返回值?
形式一,和形式三就足以证明这句话的绝对性;
总而言之:
void main 主函数没有返回值,main 默认为int 型,即 int main(), 返回整数。
按照新的C99标准,即使函数本身没有定义返回值,编译器也会加上,以返回给激发程序,运行状态。很多人甚至市面上的一些书籍,都使用了voidmain(),其实这是错误的。C/C++中从来没有定义过voidmain()。
C++之父BjarneStroustrup在他的主页上的FAQ中明确地写着Thedefinitionvoidmain(){/*...*/}isnotandneverhasbeenC++,norhasitevenbeenC. 即(voidmain()从来就不存在于C++或者C)。在部分编译器如Devc++中,void main ()这种形式是不能编译的)
注意,新标准不允许使用默认返回值,即int不能省,而且对应main函数不再支持void型返回值,因此为了使程序有很好的移植性,强烈建议使用:
int main()
{
return 0; /* 新标准主函数的返回值这条语句可以省略 *
}
文章是根据问题摘录不同作者的回答摘录补充而成,欢迎各位大佬指正
如果觉得《c语言函数调用后必须带回返回值?》对你有帮助,请点赞、收藏,并留下你的观点哦!