【1】main函数

【2】main()

经典的C风格函数头,如下:

main()

在C语言中,省略返回类型相当于说函数的类型为int。

但是,需要明确,C++逐步淘汰了这种用法。

另外,在C语言中,让括号空着意味着对是否接受参数保持沉默。

【3】int main() 和 int main(void)

在C++中,让括号空着与在括号中使用void等效。

在括号中使用关键字void明确指出,函数不接受任何参数。

【4】void main()

有些程序员使用void main()这样的函数头,并省略返回语句。

逻辑上是一致的,因为void返回类型意味着不返回任何值。

但由于它不是当前标准强制的一个选项,因此有些系统上不能工作。

因此,读者应该避免使用这种格式,而应使用C++标准格式,相比而言,也没有增加太多的工作。

【5】int main()特殊让步

ANSI/ISO C++标准对那些抱怨必须在main()函数最后包含一条返回语句过于繁琐的人做出来让步。

如果编译器到达main()函数末尾没有遇到返回语句,则认为main()函数以如下语句结尾:

return 0;

这条隐含的返回语句只适用于main()函数,而不适用于其他函数。

VS2017 示例程序如下:

 // Test1:不加return

 #include <iostream>
using namespace std; int main()
{
cout << "main return without value" << endl;
} // Test2:加return #include <iostream>
using namespace std; int main()
{
cout << "main return with value" << endl;
return ;
}

Good Good Study, Day Day Up.

顺序 选择 循环 总结

main 函数返回值的更多相关文章

  1. c语言main函数返回值、参数详解(返回值是必须的,0表示正常退出)

    C语言Main函数返回值 main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其它数字的含义则由系统决定.通常,返回非零代表程序异常退出. 很多人甚至市面上的一些书籍,都 ...

  2. string类find函数返回值判定

     string类find函数返回值判定 代码示例 #include<iostream> #include<cstring> using namespace std; int m ...

  3. Python学习教程(learning Python)--2.3.4Python函数返回值

    本节讨论Python函数返回值问题. Python和C语言一样,也可以在函数结束时返回一个值.但在定义自己的Python函数时,是不需要指定返回值数据类型的,这和Python不关心变量的数据类型是一致 ...

  4. C++ const修饰函数、函数参数、函数返回值

    const修饰函数 在类中将成员函数修饰为const表明在该函数体内,不能修改对象的数据成员而且不能调用非const函数.为什么不能调用非const函数?因为非const函数可能修改数据成员,cons ...

  5. 考察printf函数返回值

    最近偶然间见了这样一道题:  #include<stdio.h> int main() { ; printf("%d\n",printf("%d", ...

  6. C++函数返回值(02)

    对象作为返回值 编译器会将函数栈中的返回值数据拷贝到返回栈中 指针作为返回值 函数的返回值可以是存储某种类型数据的内存地址,称这种函数为指针函数.它们的一般定义形式如下:  类型标识符 *函数名(参数 ...

  7. C++函数返回值发生的对象复制

    最近用QT做一个监控系统的项目,需要显示目标的运动轨迹,每次目标移动后,就在目标的轨迹中(用vector记录)添加一条新轨迹. 但是在运行中画面里一直不出现轨迹,经过调试发现是记录轨迹的函数出错了. ...

  8. Linux Shell函数返回值

    转:http://blog.csdn.net/ithomer/article/details/7954577 Shell函数返回值,一般有3种方式:return,argv,echo 1) return ...

  9. 用C语言指针作为函数返回值

    转载:http://c.biancheng.net/cpp/html/3242.html C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数.下面的例子定义了一个函数 strlon ...

随机推荐

  1. tf.where()函数的解析

    tf.where()的使用,该函数会返回满足条件的索引.经验证,发现返回均是二维矩阵,可以说明该函数用二维矩阵给出满足条件的位置索引.(若有错误,欢迎指正.) 代码如下:import tensorfl ...

  2. Kibana插件开发

    当前开发环境 Kibana版本:7.2 elasticsearch版本:7.2 开发环境安装可参考:https://github.com/elastic/kibana/blob/master/CONT ...

  3. this.$route和this.$router区别

    this.$route 和 this.$router 这两个对象有什么区别: this.$route 是当前路由跳转对象,包含当前路由的name.path.query.params等属性 this.$ ...

  4. 8种常见数据结构及其Javascript实现

    摘要: 面试常问的知识点啊... 原文:常见数据结构和Javascript实现总结 作者:MudOnTire Fundebug经授权转载,版权归原作者所有. 做前端的同学不少都是自学成才或者半路出家, ...

  5. 用构造函数创建对象时,new的行为

    用构造函数创建对象: var obj=new 类型名(属性值,…) new: 4件事: 1. 创建一个空对象 2. 让新的子对象继承构造函数的原型对象设置(自动设置新对象的__proto__属性指向构 ...

  6. sparkSQL中的example学习(2)

    UserDefinedUntypedAggregate.scala(默认返回类型为空,不能更改) import org.apache.spark.sql.{Row, SparkSession} imp ...

  7. SparkStreaming实战(数据库(NoSQL))

    完全搞清楚项目需求,思考项目选项,这块就是使用的是数据库,就是HBase,因为它里面有一个非常合适的API,直接调用,即可 功能一: 今天到现在为止 实战课程 的访问量 yyyyMMdd 使用数据库来 ...

  8. 构建Apache Web服务器

    Apache 是世界使用排名第一的 Web 服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一.Apache工作模式有多种,其 ...

  9. jquery 监听不起效果的小问题汇总

    在写前端页面时,因为我是用jquery添加新的html字符串来实现动态添加.删除,每次新添加都需要生成新的id,当我对新的id进行监听时,却不起作用. 思考了很多方法,开始我以为,如果将监听的语句$( ...

  10. echarts-中的事件-- demo1.on('事件类型', function (params) {}

    ECharts 支持常规的鼠标事件类型,包括 'click'.'dblclick'.'mousedown'.'mousemove'. 'mouseup'.'mouseover'.'mouseout'. ...