void的作用在于:
  (1) 对函数返回的限定;
  (2) 对函数参数的限定。

先给一个例子 定义函数
返回值 函数名(参数1,参数2,参数3,.......)
{内容}

int sum (int a,int b)
{
int c;
c=a*b;
return c;
}

其中第一个int是返回值 就是别的函数调用此函数时这个函数给他的一个值。
形式一:
如果调用时不需要返回值,则函数写为
void sum(int a,int b){....} 此时函数没有返回值
形式二:
如果不需要参数 则int sum(void){...}
此时void的意义为空,就是没有参数的意思
形式三:
如果都不要 则为void sum(void);

所以返回之前的问题,c语言函数调用后必须带回返回值?

形式一,和形式三就足以证明这句话的绝对性;

总而言之:
void main 主函数没有返回值,main 默认为int 型,即 int main(), 返回整数。

按照新的C99标准,即使函数本身没有定义返回值,编译器也会加上,以返回给激发程序,运行状态。很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的。C/C++ 中从来没有定义过void main( ) 。

C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main( ) { /* ... * / } is not and never has been C++, nor has it even been C. 即( void main( ) 从来就不存在于 C++ 或者 C )。在部分编译器如Devc++中,void main ()这种形式是不能编译的)

注意,新标准不允许使用默认返回值,即int不能省,而且对应main函数不再支持void型返回值,因此为了使程序有很好的移植性,强烈建议使用:
int main()
{
return 0; /* 新标准主函数的返回值这条语句可以省略 *
}

文章是根据问题摘录不同作者的回答摘录补充而成,欢迎各位大佬指正

c语言函数调用后必须带回返回值?相关推荐

  1. Swift2.0语言教程之函数的返回值与函数类型

    Swift2.0语言教程之函数的返回值与函数类型 Swift2.0中函数的返回值 根据是否具有返回值,函数可以分为无返回值函数和有返回值函数.以下将会对这两种函数类型进行讲解. Swift2.0中具有 ...

  2. 【C# 调用 Go 语言】0x2 参数、返回值与类型转换

    在上篇文章[C# 调用 Go 语言]0x1 Hello Golang  中,我们将 Golang 源码编译为动态链接库(dll),用 C# 调用 Golang 导出的方法并成功的看到了控制台的输出.本 ...

  3. golang函数调用机制:多返回值,_返回值忽略

    通俗易懂的方式的理解 函数-调用过程 介绍:为了让大家更好的理解函数调用过程, 看两个案例,并画出示意图,这个很重要. 传入一个数+1 对上图说明 : (1) 在调用一个函数时,会给该函数分配一个新的 ...

  4. C语言main函数参数、返回值

    C语言main函数返回值: main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其他数字的含义则由系统决定,通常,返回非零代表程序异常退出,即使程序运行结果正确也仍需修复 ...

  5. c语言自定义函数多个返回值,C语言函数返回值

    C语言函数返回值教程 如果,我们希望函数不返回任何值,那么我们需要显式的指明其返回类型为 C语言函数不返回值 语法 void funcName(paramType1 param1, paramType ...

  6. c语言传入的指针无返回值,c语言 关于指针注意事项

    使用指针变量作为函数参数时,只有在获取地址的情况下对元素(*p)进行操作,才能真正地修改变量.因为此时实参传给形参,就是将堆上的申请的首地址传给形参,这样形参和实参都指向了堆上的内存,形参对堆上内存内 ...

  7. c语言枚举如何当函数返回值,C语言学习五 — 数组与枚举

    数组 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合.数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量. 数组的声明并不是声明一个个单独的变量,比如 numbe ...

  8. 《函数调用时参数、返回值所做的优化处理+编译器NRV优化》

    摘要: c++中创建对象以及销毁对象时,会自动调用对象的构造.析构函数(默认的或自定义的),因此,当我们在c++中调用函数时应该特别注意传参以及返回值时的优化处理,以减少构造.析构函数调用时的开销.同 ...

  9. c语言如何调用void函数返回值,C void函数,返回值

    没有表达式的return语句: void func(void) { return; } 在void函数中是完全合法的.带表达式的return语句的合法性取决于您正在使用的C语言的版本. 1990 C标 ...

  10. C语言入门---函数类型与返回值(int和void)

    int和void的区别? 哈喽,各位小伙伴们,在我们学习C语言的过程中经常会看到书中的main函数前带有int和void,就像下面这样: 上面这两种有什么区别呢?在C语言中,可以把函数分为有返回值函数 ...

最新文章

  1. python语言有什么用-为什么现在很多人都使用Python语言有什么优势
  2. Struts2中将表单数据封装到List和Map集合中
  3. java的poi导入Excel文件
  4. 湖南省普通招生2021高考成绩查询,湖南省2021八省联考成绩可查,附查询入口及往年分数线...
  5. powerdesigner 导入html,使用PowerDesigner导出Word/HTML的一些配置
  6. Stop Googling!
  7. 蚂蚁课堂视频笔记思维导图-3期 七、互联网高并发解决方案
  8. python将多个pdf合并并保存书签
  9. 向日葵控制端怎么传输文件给服务器,传送文件步骤有哪些?如何用向日葵实现远程传送文件?...
  10. 台湾Google云计算计划负责人叶平讲解云计算
  11. 论文笔记7 --(ReID)Video-based Person Re-identification via Self Paced Weighting
  12. 移动医疗仍处于烧钱阶段,海量流量难变现
  13. python打印日志(控制台内容输出)
  14. 史兴国对谈顾振清:NFT艺术有哪些可以抵御加密寒冬的“武器”?
  15. 深度学习:loss损失不下降
  16. 互联网时代,机遇与挑战并存,我们该如何应对?
  17. HDUOJ 2844 Coins
  18. python wxpy模块,python wxpy模块 (一)简单上手
  19. 解压包密码忘记了怎么办
  20. Ubuntu log 查看工具 UltraEdit

热门文章

  1. core dump 简介
  2. 杭电 2838 牛叉的树状数组
  3. 小强地狱(Bug Hell)——优先级和缺陷修改的平衡
  4. matlab阅读怎么放大镜,matlab局部放大
  5. ubuntu16使用labelImg
  6. 0框架前端-如何写垂侧边栏(Vertical Tabs)
  7. JAVA导出EXCEL表格
  8. Spring解析@ComponentScan注解的执行流程
  9. dmb: 数据库监控及灾备系统(for mysql)_一个备份MySQL数据库的简单Shell脚本
  10. 一键搞定JavaEE应用, JRE + Tomcat + Mysql - JaveEE绿色运行环境JTM0.9版,将web变得像桌面应用一样简单.