在我的代码中,为什么缺少函数声明对于一个函数来说不是问题,但对另一个函数却抛出警告?

2023-12-25

在下面的程序中,我使用了两个函数 prd() 和 display()。在 main() 中调用它们之前,我没有在 main() 之前声明它们,并且我在 main() 之后定义了这两个函数。然而, while prd( ) 在 main() 中工作顺利,调用 display() 会显示警告“先前隐式声明 'display' 在此”。 display() 的不同之处在于,它有一个警告,但其他函数 prd() 没有警告?我一开始就没有声明它们。仍然有由于调用其中一个而发出的警告,但另一个工作正常。

    #include<stdio.h>

    int main()
    {
        int x=8,y=11;

        printf("The product of %d & %d is %d",x,y,prd(x,y));

        display();

        return 0;
    }

    int prd(int x,int y)
    {
        return x*y;
    }

    void display()
    {
        printf("\n Good Morning");
    }

PS:如果你能回答这个第二个问题——“如果有定义的话,C 中的函数声明根本就没有必要吗?”我真的很感激。我有在 main 之前声明程序的所有函数的习惯() 函数,然后在 main() 函数之后定义它们。我错了吗?


当您使用未声明的display()编译器隐式声明它就像返回一样int.

当编译器最终看到定义时display(),它看到返回类型是void,但已经假设它是int因此定义和隐式声明不同,因此出现错误/警告。

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

在我的代码中,为什么缺少函数声明对于一个函数来说不是问题,但对另一个函数却抛出警告? 的相关文章

随机推荐

  • 使用 matlab 根据条件过滤数据

    I have ref价值为 ref 9 8 13 10 51 12 2 10 45 11 4 and In值作为 In 10 7 11 11 5 11 9 12 我想做以下两件事 确定哪些In最接近匹配的值ref值然后之后 来检查是否匹配I
  • 使用整数除法时,将“a/(b*c)”替换为“a/b/c”是否安全?

    更换是否安全a b c with a b c对正整数使用整数除法时a b c 或者我有丢失信息的风险吗 我做了一些随机测试 但找不到例子a b c a b c 所以我很确定它是安全的 但不太确定如何证明它 谢谢 数学 作为数学表达式 a b
  • 使用 ls 列出目录及其总大小[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否可以使用ls在 Unix 中列出子目录的总大小及其所有内容 而不是通常的4K那 我假设 只是目录文件本身 total 12K drwx
  • Matplotlib 对 seaborn 的 countplot 的替代方案是什么?

    我有以下数据 male 843 female 466 Name Sex dtype int64 我用同样的方法绘制了条形图countplot from seaborn 并且成功了 但我想知道它的替代方案是什么matplotlib I did
  • 从字符串文字推断 Spark 数据类型

    我正在尝试编写一个可以推断 Spark 的 Scala 函数数据类型 https spark apache org docs 1 4 0 api java org apache spark sql types DataType html基于
  • 从编辑的源代码自制重新编译

    有没有办法通过自制程序从编辑的源代码重新编译 我对 Boost 的源 user hpp 进行了更改 现在我想用它重新编译 Boost 我试过 build from source and enable bar但两者都不起作用 说它已经安装了
  • 在 PostgreSQL 中对 AND 和 OR 条件进行分组

    我总是在 sql 查询中使用括号 但我有例子 DELETE FROM prog WHERE prog start gt 1 AND prog start lt 2 OR prog end gt 1 AND prog end lt 2 是否等
  • 如何开始使用 C 语言 ICU

    我需要在 C 中处理 unicode 字符串 我听说 ICU 是合适的库集 但我入门时运气不佳 所以我的问题是 任何人都可以提供一个关于在 C 中使用 ICU 的 unicode 字符串的优秀初学者教程的链接吗 附 我已经安装了libicu
  • “过时元素引用”错误行为理解

    Code 1 element by id myButtonId click return element by id myValidationSummaryId getText then function val return val 上面
  • 为什么在预热阶段浮点运算会更快?

    我最初想测试 Java 中浮点性能优化的不同之处 即除法之间的性能差异5 0f并乘以0 2f 在没有预热的情况下 乘法似乎会变慢 但在预热时 乘法速度会加快约 1 5 倍 研究结果后 我注意到我忘记添加预热阶段 正如在进行性能优化时经常建议
  • POST 请求未显示在 Chrome DevTools 中

    使用 WhatsApp 网页版时 当您发送消息时 不会显示任何请求 但消息仍会发送 为什么网络选项卡中没有任何请求的迹象 以及如何使其可见 如果它是隐藏的 注意 此情况仅发生在 WhatsApp 网页版上 在其他网站上 它可以工作并显示 G
  • Ruby on Rails:为什么选择框不显示当前对象值?

    这是相关代码views products edit html erb from views products form html erb 和来自helpers products helper rb def select
  • 如何在 while 循环后将结果集重置为第一行

    我的代码有两个循环 我的外循环应该循环遍历外循环第一行的内循环的所有行 而对于外循环的第二行 它应该循环遍历内行的所有行 int y1 y2 float t 0 s1 s2 while rm next int currentCol 0 ce
  • CoffeeScript 范围问题

    我在这里做错了什么 我使用粗箭头 gt 进行回调 但是当代码到达 cb onEndElement 并调用 returner 时 我得到一个空对象异常 那么为什么 returner 不存在呢 class Parser constructor
  • 如何通过值找到json token然后删除token

    例如 我在 C 中有一个像这样的 json Harry firstName Harry Harry lastName Birimirski Harry recordTitle My title Harry SomeRepeatable GU
  • 在弹性搜索中使用脚本化字段时如何返回所有字段

    使用弹性搜索我试图添加一个计算的distance字段到地理搜索 我只想在搜索文档中附加一个额外的计算字段 但是当我通过 script fields 添加计算字段时 则仅返回该字段 我尝试添加通配符字段部分 但它并没有影响结果 如何让这个查询
  • 浏览器有时会显示 JSON 文本而不是所需的页面

    我的 Rails 应用程序遇到间歇性问题 并且无法弄清楚发生了什么 当用户登录时 他们会看到一个仪表板 其中包含一些 JavaScript 代码 这些代码对操作执行 AJAX 调用 有时 当用户登录时 他们不会看到仪表板 而是看到来自操作的
  • 如何从 Matlab 移植到 Headless Octave for Web

    我有一个自己编写的 Matlab 应用程序 希望将其放在运行 Octave 的 AWS 服务器上 以通过网络公开提供服务 我从来没有用过八度 我读过 no window system 将允许我无头运行 并且我知道我可以使用 saveas f
  • 在同一表单中使用多个提交按钮

    我无法访问框架中的所有按钮 它仅适用于直方图按钮 这是我的表单 我想在 Post 方法中访问它
  • 在我的代码中,为什么缺少函数声明对于一个函数来说不是问题,但对另一个函数却抛出警告?

    在下面的程序中 我使用了两个函数 prd 和 display 在 main 中调用它们之前 我没有在 main 之前声明它们 并且我在 main 之后定义了这两个函数 然而 while prd 在 main 中工作顺利 调用 display