在 C 和 C++ 中 main() 应该返回什么?

2024-01-19

定义的正确(最有效)方法是什么main()C 和 C++ 中的函数 —int main() or void main()——为什么?那么论点又如何呢? 如果int main() then return 1 or return 0?


返回值为main指示程序如何退出。正常退出由 0 返回值表示main。异常退出由非零返回表示,但对于如何解释非零代码没有标准。正如其他人指出的那样,void main()C++ 标准禁止,不应使用。有效的 C++main签名是:

int main(void)

and

int main(int argc, char **argv)

这相当于

int main(int argc, char *argv[])

还值得注意的是,在 C++ 中,int main()可以不带 return 语句,此时它默认返回 0。对于 C99 程序也是如此。无论return 0;是否应该省略还有待商榷。有效的 C 程序主签名的范围要大得多。

效率不是问题main功能。根据C++标准,它只能进入和离开一次(标记程序的开始和终止)。对于C,重新输入main()是允许的,但应该避免。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C 和 C++ 中 main() 应该返回什么? 的相关文章

  • 我可以使用反射更改 C# 中的私有只读字段吗?

    我想知道 由于很多事情都可以使用反射完成 我可以在构造函数完成执行后更改私有只读字段吗 注 只是好奇 public class Foo private readonly int bar public Foo int num bar num
  • Web UI 中的 .Result 出现死锁

    我正在阅读以下主题http blog stephencleary com 2012 07 dont block on async code html http blog stephencleary com 2012 07 dont bloc
  • LINQ to XML - 如何正确使用 XDocument

    现在我首先要说的是 这确实是一项任务 然而 在我遇到 Linq to XML 语法之前 我几乎已经完成了它 我有 2 个课程 曲目和 CD 现在作为作业的一部分 我创建了一张 CD 然后向其中添加了一些曲目 在搜索了大量完美解释了如何从 x
  • 实体框架代码优先 - 在另一个文件中配置

    使用 Fluent API 将表到实体的映射分开的最佳方法是什么 以便它全部位于单独的类中 而不是内联在 OnModelCreating 方法中 我目前在做什么 public class FooContext DbContext prote
  • 字节到二进制字符串 C# - 显示所有 8 位数字

    我想在文本框中显示一个字节 现在我正在使用 Convert ToString MyVeryOwnByte 2 但是 当字节开头有 0 时 这些 0 就会被删除 例子 MyVeryOwnByte 00001110 Texbox shows g
  • 阅读 Stack Overflow RSS 源

    我正在尝试获取未回答问题的列表the feed https stackoverflow com feeds 但我在阅读时遇到困难 const string RECENT QUESTIONS https stackoverflow com f
  • Qt中正确的线程方式

    我的图像加载非常耗时 图像很大 并且在加载时也完成了一些操作 我不想阻止应用程序 GUI 我的想法是在另一个线程中加载图像 发出图像已加载的信号 然后用该图像重绘视图 我的做法 void Window loadImage ImageLoad
  • 如何避免选择项目时 winforms 树视图图标发生变化

    我正在一个小型 C Winforms 应用程序中尝试树视图 我已经以编程方式将 ImageList 分配给树视图 并且所有节点都很好地显示了它们的图标 but当我单击一个节点时 它的图标会发生变化 变为 ImageList 中的第一个图像
  • for 循环 - 没有效果的语句

    由于某种原因 我收到错误 statement with no effect关于这个声明 for j idx j lt iter j increment printf from loop idx i int idx punc ctxt j 你
  • 当格式字符串包含“{”时,String.Format 异常

    我正在使用 VSTS 2008 C Net 2 0 执行以下语句时 String Format 语句抛出 FormatException 有什么想法是错误的吗 这是获取我正在使用的 template html 的位置 我想在 templat
  • 抽象类和接口之间的区别[重复]

    这个问题在这里已经有答案了 可能的重复 接口与基类 https stackoverflow com questions 56867 interface vs base class 我不明白抽象类和接口之间的区别 我什么时候需要使用哪种字体
  • 标准 C 中的 sizeof 与 sizeof()? [复制]

    这个问题在这里已经有答案了 我看到一些直接使用 sizeof 的代码 想知道它是否是标准 C 令我惊讶的是 它运行得很好 这是一个例子 include
  • 如何使用 Clang 查找内存泄漏

    我在我的机器 ubuntu 中安装了 Clang 以便发现我的 C 代码中的内存泄漏 我编写了一个示例代码来检查它的工作情况 如下所示 File hello c for leak detection include
  • OpenMP C 程序运行速度比顺序代码慢

    我是 OpenMP 的新手 正在尝试并行化 Jarvis 的算法 然而事实证明 与顺序代码相比 并行程序花费的时间要长 2 3 倍 难道问题本身就不能并行化吗 或者我并行化它的方式有问题 这是我针对该问题的 openMP 程序 其中有 2
  • 改进C++逐行读取文件的能力?

    我正在解析大约 500GB 的日志文件 我的 C 版本需要 3 5 分钟 我的 Go 版本需要 1 2 分钟 我正在使用 C 的流来流式传输文件的每一行以进行解析 include
  • 在 MVVM 中,可以在视图后面的代码中访问 ViewModel 吗?

    在 MVVM 模式中 是否可以接受甚至可以访问视图代码后面的 ViewModel 属性 我有一个可观察的集合 它填充在 ViewModel 中 我需要在视图中使用它来绑定到带有链接列表的无限滚动条 IE private LinkedList
  • 从 C# 中的 .NET SecureString 读取单个字符?

    WPF 的PasswordBox 返回一个SecureString 它对窥探者隐藏密码 问题是你最终必须获得密码的值 而我在网上找到的建议都涉及将值复制到字符串中 这会让你回到窥探者的问题 IntPtr bstr Marshal Secur
  • 如何使复选框不可选择?

    我想知道你是怎么做的CheckBox在c 中无法选择 我认为这会是类似 SetSelectable false 之类的东西 但我似乎看不到该方法 I found CanSelect但这似乎是只读属性 您可以设置自动检查 http msdn
  • C++0x 中的新 unicode 字符

    我正在构建一个 API 它允许我获取各种编码的字符串 包括 utf8 utf16 utf32 和 wchar t 根据操作系统 可能是 utf32 或 utf16 新的 C 标准引入了新类型char16 t and char32 t没有这么
  • ASP.NET Core:会话 ID 始终变化

    今天启动了一个全新的 ASP NET Core 网站 按照说明添加会话 我们在索引页上打印出会话 ID 它始终是唯一的 我认为这可能是 cookie 合规性 所以我在 Chrome 的高级设置和调试器中删除了所有 cookie 但横幅不会再

随机推荐

  • GLSL、Opengl 中的视差贴图问题

    我的视差贴图给出了错误的结果 我不知道出了什么问题 影子 放错了地方 光线从观察者处射向立方体 Shader程序 基于dhpoware com vert varying vec3 lightDir varying vec3 viewDir
  • 从图库(SD 卡)中选择图像用于我的应用程序时发生异常... java.lang.OutOfMemoryError:位图大小超出 VM 预算

    我正在使用 Android 在我的应用程序上选择图像 我不知道为什么 有时我会遇到例外 我认为我总是选择超过 400 或 500 kb 的图像 但我不确定 为什么 因为当我选择 100 kb 的小图像时 我没有遇到异常 而当我获取高 KB
  • 为什么 Bootstrap 尝试在 Edge 中加载 LESS 文件?

    我有一个使用 Twitter Bootstrap 的网页 它在 Chrome Firefox 和 Safari 中运行良好 然而 当我尝试在 Windows 10 上的 Edge 中查看它时 收到一堆 403 错误 指出它无法从 Boots
  • 有什么方法可以将 HTML 添加到 Xamarin.Forms 页面中吗?

    我希望能够将一些 HTML 添加到 Xamarin Forms 页面中 这可能吗 是否可以将其添加为标签的一部分 如果您想要完整的 html 支持 那么 Xamarin formsWebView将会是一个不错的选择 但如果你想要一些基本的格
  • Angular 2,设置默认值以选择选项

    我尝试为选项添加默认值 它就像一种占位符 我使用这个方法 https stackoverflow com questions 5805059 how do i make a placeholder for a select box去做吧 在
  • 混合 C++ ABI 以针对遗留库进行构建

    情况是这样的 我有一个使用最新 GCC 4 3 3 的 C 代码库 但我需要链接到使用 GCC 3 2 3 构建的旧库 该库没有可用的新版本 我不能没有它 而且它是闭源的 因此无法重建 这似乎造成了一个问题 因为 GCC 4 3 3 和 3
  • 用 PHP 编译带有多个附件的电子邮件

    我需要从 PHP 发送一封包含多个图像附件的电子邮件 我目前有一个使用两个硬编码图像的测试设置 我用所有必要的标题编译电子邮件并将其发送出去 但是 当我收到它时 它只显示第一张图片作为附件 第二张图片似乎被忽略了 使用 Groupwise
  • 将关联数组变成类似于 Eloquent 查询集合的集合

    我有一个正在接收 API 数据的类 我想将所有响应包装到一个集合类中 因此 我从 API 调用接收数据 将其转换为普通的关联 php 数组 并使用collect helper 我本以为它能像 Eloquent 一样工作 你可以将键引用为集合
  • 如何使用 Selenium Web 驱动程序上传文件/处理窗口

    我正在尝试自动化一个场景 在该场景中我必须上传文档 但我无法处理上传文件一旦我单击网络应用程序上的 选择文件 按钮 就会出现窗口 我使用的是 C 语言和 Chrome 浏览器 我的 C 测试用例 Test Description JAVA
  • ARM 模板部署不会删除旧管道

    我正在使用 ARM 模板部署我的数据工厂 当我删除管道时 旧版本不会从目标环境中删除 重命名也会发生同样的情况 我的目标环境包含一个具有旧名称的管道和一个具有新名称的管道 如何删除带有 ARM 模板部署的旧管道 注意 我只想删除数据工厂内的
  • Mathematica 中的树数据结构

    我主要使用mathematica 作为数学工作台和编写相对较小的临时程序 然而 我正在设计一个系统 打算在 Mathematica 中编程 我需要将数据存储在树中 并搜索和遍历树 尽管我知道如何实现树 但我更喜欢标准的 经过测试的代码 我在
  • Spring:正确设置@ComponentScan

    我为我的设置进行了以下设置Spring Application Context Configuration public class RmiContext Bean public RmiProxyFactoryBean service Rm
  • 可空类型“int”的默认值是多少? (包括问号)?

    在C 中 类型的类实例变量的默认值是多少int 例如 在下面的代码中 什么值将MyNullableInt如果从未明确分配的话有吗 class MyClass public int MyNullableInt 看来答案几乎肯定是null or
  • 无法删除表用户,因为其他对象依赖于它

    我想将我的表删除到数据库中 但是 当我使用时 例如 DROP TABLE if exists users 我收到这条消息 cannot drop table users because other objects depend on it
  • Laravel 路由不调用控制器的功能

    我在页面 刀片 中有一个表单 它重定向到一个路由 该路由要调用控制器中的函数 但它甚至不会进入函数内部 因为即使是简单的 dd 不能被执行 在途中 如果我更改为 Route post edit profile function Reques
  • 无法使用自定义样式编织为 pdf

    尝试使用自定义 mystyles sty 文件从 RStudio 编织为 pdf 这曾经工作正常 但现在我已经升级到 RStudio 1 044 我收到错误 Example title Test output pdf document in
  • 分析(可能受 I/O 限制)进程以减少延迟

    我想提高大型应用程序中特定方法的性能 目标是改善延迟 特定功能所花费的挂钟时间 而不是 必然 系统负载 要求 由于我预计大部分延迟是由 I O 造成的 因此请考虑等待 阻塞所花费的时间 换句话说 查看挂钟时间而不是 CPU 时间 由于该程序
  • 已解析的依赖项中存在不兼容的版本

    我正在尝试运行我的 python 项目 该项目似乎在我的 Mac 上运行良好 在 pycharm 中最好 不太好 但可以在 VSCode 中运行 但在 VSCode 中的树莓派上运行得很糟糕 每当我运行pipenv shell然后一个pip
  • StepFunction 的 Choice 规则检查数组字段是否为空

    有没有办法在 Step Function 中创建选择规则来确定数组字段是否有元素 当前 StepFunction 文档 https docs aws amazon com step functions latest dg amazon st
  • 在 C 和 C++ 中 main() 应该返回什么?

    定义的正确 最有效 方法是什么main C 和 C 中的函数 int main or void main 为什么 那么论点又如何呢 如果int main then return 1 or return 0 返回值为main指示程序如何退出