【问题标题】:Syntax error in printf command in c programmingc语言中printf命令的语法错误
【发布时间】:2021-11-04 01:04:31
【问题描述】:

就上下文而言,我是一个完全的编程初学者,学习 C 是我在编码方面的第一次体验。

我不知道为什么我在程序的第 12 行和第 15 行收到错误消息。我可能认为这是一些我不知道的语法错误。谁能给我指点一下?

我使用的代码如下:

 #include<stdio.h>
int main()
{
    float maths, eng, phy, chem, pe;

    printf("\nEnter maths marks:");
    scanf("%f",&maths);

    printf("\nEnter eng marks:");
    scanf("%f",&eng);

    printf("\nEnter phy marks:");
    scanf("%f",&phy);

    printf("\nEnter chem marks:");
    scanf("%f",&chem);

    printf("\nEnter pe marks:");
    scanf("%f",&pe);
}

Error Image

【问题讨论】:

  • 请将代码作为文本发布,并发布完整的错误消息。
  • 您是否尝试过单击显示PROBLEMS (2) 的标签?另外:floatscanf 说明符是 %f,而不是 %d。除此之外,请发帖Minimal, Reproducible Example
  • 在当前状态下,您的程序编译并且没有显示 2 个 printfs 错误(尽管有一个 scanf 错字)。您是否真的尝试过编译程序以查看编译器本身是否会出错?你能准确引用问题标签中的问题吗?
  • @MuditSharma "Linter" 是静态分析器的俚语,一种比编译器提供更广泛警告的外部工具。不,这不是初学者应该使用或担心的事情。
  • @MuditSharma 因为微软只维护他们的 C++ 编译器。他们的 C 编译器不是很兼容 C,尽管最新版本不如 2015 或更早版本那么糟糕。无论如何,我实际上认为这是一些 IDE 问题。也许您没有保存文件,或者您正在查看另一个文件而不是正在编译的文件?

标签: c syntax printf scanf


【解决方案1】:

好的。正如许多人所建议的那样,这实际上是一个错误。禁用和重新启用错误曲线已经完全解决了它。感谢所有帮助过我的人:)

【讨论】:

    【解决方案2】:

    您应该为浮点数据类型指定访问说明符%f。 所以你的代码应该是,

    scanf("%f",&maths);
    

    【讨论】:

    • 这可能不是printf 上的错误曲线的原因。目前,该问题不完整,因为它在图片中有代码并且没有 MRE,因此任何答案也可能不完整。
    • @mediocrevegetable1 你能详细说明一下吗?我尝试了 newCodee 的解决方案,但没有奏效。
    • @MuditSharma 请以文本形式发送完整代码
    • @MuditSharma 我的意思是,为了让我们能够回答您,您需要将程序的minimal reproducible example 作为代码块发送,不是作为图片。您还应该在“问题”选项卡中显示正在显示的问题,以及在实际编译程序时是否遇到任何错误。有一个选项可以编辑您的问题,因此您仍然可以添加此信息。
    • 问题中的代码已更改,因此此答案不再有意义。
    猜你喜欢
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    相关资源
    最近更新 更多