【问题标题】:Type expected declaration or statement at end of input [closed]在输入末尾键入预期的声明或语句[关闭]
【发布时间】:2014-04-11 10:18:01
【问题描述】:

我正在制作一个 C 程序,它是一个没有 GUI 的简单计算器,称为“Quical”。 (查看Github 上的代码)。我对 C 有点陌生,所以我犯了一些语法错误。其中一个错误是:

expected declaration or statement at end of input

出现的另一个错误是:

else without a previous if

Here is my code.

希望这可以解释为什么我会遇到这些语法错误。任何帮助将非常感激。

【问题讨论】:

  • 不确定它是否是在 github 上发布代码的产物,但是在 'if' 和 'else' 之后有很多语句,它们既不是块也不是缩进的,我认为你不想要.
  • SO 是发布代码的地方,而不是代码链接。实际的相关代码应该直接在您的问题中——出于多种原因。
  • 可能有点乱。如果你想清理它,我衷心地请求你向 repo 提交一个 pull request。
  • @nhgrif:我试着这样做,但整个事情都被格式弄乱了。这似乎更容易,而且我已经有了代码。
  • 第 84 和 117 行有 else 的丢失(没有 if 的)。为什么不用switch语句?

标签: c loops if-statement syntax


【解决方案1】:

您的大括号不匹配。你有类似的东西

main()
{
   some statement
   {
   }

   another
   {
   }


and it ends.

这是说它想要在这里发表声明。试试看,看看下一个错误是什么。

【讨论】:

  • 您是否有机会在存储库本身上推送拉取请求?
  • 我可以为你做,但你将如何学习? :-) 您使用的是什么 IDE(如果有)?他们中的大多数应该能够为您美化或格式化您的代码,因此很容易看到不平衡的花括号。
  • :) 我正在使用 Eclipse。奇怪的是,有一个“快速修复”功能,但它似乎不会自动更正代码。
  • @JavaThunderMan 请参阅此链接了解如何自动格式化。这将帮助您查看大括号的不平衡位置。 stackoverflow.com/questions/15655126/…
  • 将尝试该链接...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-20
  • 1970-01-01
  • 1970-01-01
  • 2013-08-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多