gpt4 book ai didi

c - 输入末尾的预期声明或语句

转载 作者:行者123 更新时间:2023-11-30 20:51:51 36 4
gpt4 key购买 nike

我有以下 C 语言代码:

#include <stdio.h>
#define NOERROR 0

int c;
int parentheses, brackets, braces;

void checkErrors(void);

int main()
{
extern int parentheses, brackets, braces;
extern int c;

parentheses=0; brackets=0; braces=0;

while ((c = getchar()) != EOF){
if (c == '(')
{++parentheses;}
else if (c == ')')
{--parentheses;}
else if (c == '[')
{++brackets;}
else if (c == ']')
{--brackets;}
else if (c == '{')
{++braces;}
else if (c == '}')
{--braces;}
checkErrors();
}

void checkErrors(void)
{
extern int parentheses, brackets, braces;
extern int c;

if (parentheses != NOERROR){
printf("You have missed some parentheses");
}

if (brackets != NOERROR){
printf("You have missed some brackets");
}

if (braces != NOERROR){
printf("You have missed some braces");
}
}

我收到此错误:第 55 行输入末尾处的预期声明或语句(当主函数结束时)为什么会发生这种情况?我没有错过任何括号。

谢谢

最佳答案

while之后的语句无效。 else if之前必须有if

while ((c = getchar()) != EOF){
else if (c == '(')

while 语句也应有右大括号。

在这些语句之后放置右大括号

      else if (c == '}')
{--braces;}
} // <==

关于c - 输入末尾的预期声明或语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24598759/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com