学习
实践
活动
专区
工具
TVP
写文章

C语言的main函数到底该怎么

从开始学习C语言到现在,我们似乎看到了很多个版本的main函数,那么哪一种才是正确的呢?我们先来看看目前有哪些版本。 main函数版本 第一种,没有返回值,没有入参: main() 在C89标准中,这种写法是可以接受的,但使用现在的编译器编译时,会报告警,并且会将其返回值默认为int。 真相大白 C89/C99/C11标准文档中只提供了两种main函数的写法: int main(void) { /* ... */ } int main(int argc, char *argv[]) 总结 至此,我们已经知道了c语言main函数的写法,我们来总结一下前面的内容: C标准只提供了两种main的形式,即前面提到的第三种和第五种。 为了代码的通用可移植性,建议采用标准提供的形式。

32420
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言 main 函数到底怎么是对的?

    各位,C语言中的main函数大家都再熟悉不过了,这是你学习C语言首先就要学习的东西,但是我看过很多人的代码包括我们的一些读者在main函数的写法方面版本很多,今天就跟大家聊一聊main函数到底应该怎么的问题 我一直比较好奇这种样式是怎么来的,main函数的返回值要作为程序退出的状态,声明为void在程序退出后,退出情况就不得而知了。 查了C89/C99/C11相关文档,都没有提到任何这种写法的痕迹,我见过最多的写法就是这种,不清楚为什么有这么多初学者这么。严格来说返回值为void是不正确的。 其实官方标准已经给出了这个问题的答案,C89/C99/C11标准文档中只提供了以下两种main函数的写法: int main(void) int main(int argc, char *argv[] 大家还是要在标准规矩内行事,毕竟畏法度者最自由,代码如此,其他方面也是如此,好了,就讲这么多吧。 各位,main函数怎么你现在明白了吗?

    56310

    怎么给 Python C 扩展?

    2.1 C模块封装 以计算两个数相加为例,选择任意文件夹,新建如下C语言源码: // 文件名 calc.c #include int add(int x, int y){ // C 函数 return 包含了该模块方法的描述 静态struct PyModuleDef结构体 变量 calcmodule 定义了模块的描述 PyInit_calc 函数初始化了模块,命名方式 PyInit_模块名 2.2 C源码编译 在VS2017中可以直接生成 .dll 文件,然后改名为 .pyd 就可在python程序中引入该模块了,但是,这不"清真",正确的姿势是一个 setup.py然后通过python调cl.exe编译 Python的参数传递以及C的返回值相关问题 这部分我直接甩出文件就行,编译及调用过程与上面一样。 C 文件 /**构建返回值 Py_BuildValue("") None Py_BuildValue("i", 123)

    56950

    听说C语言高手都用txt代码?

    坊间传闻高手都喜欢用记事本代码,那么问题来了,我们以C语言为例,如何用记事本编译运行呢? 其实最简单的方式就是安装GCC编译器,在记事本编写C语言程序,然后再在命令行用GCC编译运行,下面我简单介绍一下实现过程,感兴趣的朋友可以尝试一下: 安装GCC编译器 这里推荐直接安装MinGW,一个集成编译调试工具 ,集成了常见的GCC、G++、GDB等命令,可以轻松编译运行C语言程序。 下载的话,直接到官网上下载即可,一个exe文件,直接双击安装就行,安装后主目录如下,这里需要将bin目录添加到环境变量中,后面在cmd窗口就可以直接使用GCC命令编译C语言程序: 打开cmd窗口,输入 exe程序,可以直接运行: 至此,我们就完成了记事本C语言程序的编译和运行。

    9572218

    C语言 | 怎么解决问题

    怎么解决学习C语言过程中遇到问题 问题分析 对上级分配的工作要进行认真的分析,研究所给的的条件,分析最后应该达到的目标,找出解决问题的规律,选择解题的方法。 编写程序 根据得到的算法,用C语言编写出源代码,在代码的过程中尽可能的添加注释。 编译源程序 对源程序进行编辑、编译和连接,得到可执行程序,如果编译不通过,根据报错提醒,解决报错。 C语言算法 什么是算法  广义地说:为解决一个问题而采取的方法和步骤,就称为「算法」,计算机算法可以分为两大类:数值运算算法和非数值运算算法 算法的特性 有穷性:一个算法应该包括有限的操作步骤,而不能是无限的 以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~ C语言学习路线    C语言开发工具 VC6.0、Devc++、VS2019使用教程 更多案例可以go公众号「C语言入门到精通」

    28742

    C语言C++学到什么程度可以游戏辅助?

    一、先说一下一个外挂需要什么条件 1、熟练的C语言知识 目前的外挂大部分都是用BC或者是vc的,拥有熟练的C语言知识是外挂的基本条件 2、具有很强的汇编基础 一般游戏都不可能有原代码的,必须*反汇编或者跟踪的办 如果你不具有上面的条件,还是先把基础打好,再来写外挂吧,一分耕耘,一分收获,天下没有白掉的馅饼的 二、外挂面临的基本技术问题 1、修改进程的执行代码 要修改进程的执行代码,要先取得进程的ID,如果是由外挂程序启动 第一步是要跟踪出发和收的位置,至于怎么跟踪,我以后会提到,找到位置以后,有2个办法,一是在那个位置加一 个jmp语句,跳到你的处理函数位置,处理完后,再跳回来,这种方法要求比较高,需要处理好很多事情,另一种办法 是往那个位置条能造成例外的指令,比如int 3,然后用DebugActiveProcess调试游戏进程,这样每当游戏执行到那个位置的时候,就会停下来,到外挂程序里面去,等外挂程序处理完以后,用ContinueDebugEvent 小编推荐一个学C语言/C++的学习裙【 六二七,零一二,四六四 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    1.7K10

    C 语言漏洞最严重,PHP 最易受攻击,程序员该怎么代码?

    论编程语言的安全性,作为历史最悠久的编程语言C 仍然是开源漏洞最多的一个,但 PHP 的变化却最大,为什么 PHP 更容易受到攻击? ? 开源漏洞又一次出现了增加的趋势。 在上述编程语言中,最严重的是 C 语言出现的缓冲区错误(CWE-119),而带有输入验证不当(CWE-20)漏洞位居第二。 通过这些数据,我们可以看出与软件开发社区有关的常见问题。 每种语言发布的开源漏洞比率 从整个报告来看,在过去的一年中,这些流行语言中开源安全漏洞的分布有所变化。 ? 尽管 C 仍然是开源漏洞最多(占 30%)的语言,但这是因为 C 是最古老的语言之一,我们至今仍在使用一些非常受欢迎的开源项目。 无论你喜欢还是讨厌 C 语言,无可否认,没有其他语言可以与 C 编写的大量代码竞争。 然而,令人不解的是 PHP 的变化最大,从 2009 年开源代码漏洞的 15%一路上升到 2019 年的 27%。

    18950

    C语言这么厉害,它自身又是用什么语言的?

    C语言本身用什么语言的?” 换个角度来问,其实是:C语言在运行之前,得编译才行,那C语言的编译器从哪里来? 用什么语言来写的?如果是用C语言本身来写的,到底是先有蛋还是先有鸡? 1 我们假设世界上不存在任何编译器, 先从机器语言说起,看看怎么办。 机器语言可以直接被CPU执行,不需要编译器。 汇编语言的问题解决了,就往前迈进了一大步,这时候就可以用汇编语言C语言的编译器,我们说这是C编译器的老祖宗。 有了这个老祖宗,就可以编译任意的C语言程序了,那是不是可以用C语言本身一个编译器? OK, 这么一层层上来,终于得到了一个用C语言的编译器, 真是够麻烦的。 到这个时候,之前那个汇编写的C语言编译器就可以抛弃了。 那C1这个语言的编译器由谁来写? 自然是C0。 等到C1可以工作了,再次扩展语言特性,用C1编译器,得到C2。 然后是C3, C4...... 最后得到完整的C语言

    27130

    C语言这么厉害,它自身又是用什么语言的?

    这是来自我的星球的一个提问:“C语言本身用什么语言的?” 换个角度来问,其实是:C语言在运行之前,得编译才行,那C语言的编译器从哪里来? 用什么语言来写的? 如果是用C语言本身来写的,到底是先有蛋还是先有鸡? 1 我们假设世界上不存在任何编译器, 先从机器语言说起,看看怎么办。 机器语言可以直接被CPU执行,不需要编译器。 汇编语言的问题解决了,就往前迈进了一大步,这时候就可以用汇编语言C语言的编译器,我们说这是C编译器的老祖宗。 有了这个老祖宗,就可以编译任意的C语言程序了,那是不是可以用C语言本身一个编译器? OK, 这么一层层上来,终于得到了一个用C语言的编译器, 真是够麻烦的。 到这个时候,之前那个汇编写的C语言编译器就可以抛弃了。 那C1这个语言的编译器由谁来写? 自然是C0。 等到C1可以工作了,再次扩展语言特性,用C1编译器,得到C2。 然后是C3, C4...... 最后得到完整的C语言

    67720

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 短信

      短信

      腾讯云短信(SMS)旨在帮助广大企业级用户快速灵活地接入国内外高质量文本短信服务,支持发送验证码、通知类短信和营销短信,通过 SDK/API 和控制台群发短信以及查看多维度短信发送详情和可视化数据分析。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券