c语言函数调用后必须带回返回值?
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语言函数调用后必须带回返回值?相关推荐
- Swift2.0语言教程之函数的返回值与函数类型
Swift2.0语言教程之函数的返回值与函数类型 Swift2.0中函数的返回值 根据是否具有返回值,函数可以分为无返回值函数和有返回值函数.以下将会对这两种函数类型进行讲解. Swift2.0中具有 ...
- 【C# 调用 Go 语言】0x2 参数、返回值与类型转换
在上篇文章[C# 调用 Go 语言]0x1 Hello Golang 中,我们将 Golang 源码编译为动态链接库(dll),用 C# 调用 Golang 导出的方法并成功的看到了控制台的输出.本 ...
- golang函数调用机制:多返回值,_返回值忽略
通俗易懂的方式的理解 函数-调用过程 介绍:为了让大家更好的理解函数调用过程, 看两个案例,并画出示意图,这个很重要. 传入一个数+1 对上图说明 : (1) 在调用一个函数时,会给该函数分配一个新的 ...
- C语言main函数参数、返回值
C语言main函数返回值: main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其他数字的含义则由系统决定,通常,返回非零代表程序异常退出,即使程序运行结果正确也仍需修复 ...
- c语言自定义函数多个返回值,C语言函数返回值
C语言函数返回值教程 如果,我们希望函数不返回任何值,那么我们需要显式的指明其返回类型为 C语言函数不返回值 语法 void funcName(paramType1 param1, paramType ...
- c语言传入的指针无返回值,c语言 关于指针注意事项
使用指针变量作为函数参数时,只有在获取地址的情况下对元素(*p)进行操作,才能真正地修改变量.因为此时实参传给形参,就是将堆上的申请的首地址传给形参,这样形参和实参都指向了堆上的内存,形参对堆上内存内 ...
- c语言枚举如何当函数返回值,C语言学习五 — 数组与枚举
数组 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合.数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量. 数组的声明并不是声明一个个单独的变量,比如 numbe ...
- 《函数调用时参数、返回值所做的优化处理+编译器NRV优化》
摘要: c++中创建对象以及销毁对象时,会自动调用对象的构造.析构函数(默认的或自定义的),因此,当我们在c++中调用函数时应该特别注意传参以及返回值时的优化处理,以减少构造.析构函数调用时的开销.同 ...
- c语言如何调用void函数返回值,C void函数,返回值
没有表达式的return语句: void func(void) { return; } 在void函数中是完全合法的.带表达式的return语句的合法性取决于您正在使用的C语言的版本. 1990 C标 ...
- C语言入门---函数类型与返回值(int和void)
int和void的区别? 哈喽,各位小伙伴们,在我们学习C语言的过程中经常会看到书中的main函数前带有int和void,就像下面这样: 上面这两种有什么区别呢?在C语言中,可以把函数分为有返回值函数 ...
最新文章
- python语言有什么用-为什么现在很多人都使用Python语言有什么优势
- Struts2中将表单数据封装到List和Map集合中
- java的poi导入Excel文件
- 湖南省普通招生2021高考成绩查询,湖南省2021八省联考成绩可查,附查询入口及往年分数线...
- powerdesigner 导入html,使用PowerDesigner导出Word/HTML的一些配置
- Stop Googling!
- 蚂蚁课堂视频笔记思维导图-3期 七、互联网高并发解决方案
- python将多个pdf合并并保存书签
- 向日葵控制端怎么传输文件给服务器,传送文件步骤有哪些?如何用向日葵实现远程传送文件?...
- 台湾Google云计算计划负责人叶平讲解云计算
- 论文笔记7 --(ReID)Video-based Person Re-identification via Self Paced Weighting
- 移动医疗仍处于烧钱阶段,海量流量难变现
- python打印日志(控制台内容输出)
- 史兴国对谈顾振清:NFT艺术有哪些可以抵御加密寒冬的“武器”?
- 深度学习:loss损失不下降
- 互联网时代,机遇与挑战并存,我们该如何应对?
- HDUOJ 2844 Coins
- python wxpy模块,python wxpy模块 (一)简单上手
- 解压包密码忘记了怎么办
- Ubuntu log 查看工具 UltraEdit
热门文章
- core dump 简介
- 杭电 2838 牛叉的树状数组
- 小强地狱(Bug Hell)——优先级和缺陷修改的平衡
- matlab阅读怎么放大镜,matlab局部放大
- ubuntu16使用labelImg
- 0框架前端-如何写垂侧边栏(Vertical Tabs)
- JAVA导出EXCEL表格
- Spring解析@ComponentScan注解的执行流程
- dmb: 数据库监控及灾备系统(for mysql)_一个备份MySQL数据库的简单Shell脚本
- 一键搞定JavaEE应用, JRE + Tomcat + Mysql - JaveEE绿色运行环境JTM0.9版,将web变得像桌面应用一样简单.