gpt4 book ai didi

c - 如何修复 Expected Identifiers 错误 C 语言

转载 作者:太空宇宙 更新时间:2023-11-04 01:45:49 24 4
gpt4 key购买 nike

我在编译代码时收到两个“预期标识符”错误,即使它是根据 ANSI-C 标准编写的。我使用带有标志 -Wall -ansi -pedantic 的 gcc 编译器进行编译。我知道编译器很旧,但我的大学要求我使用它。

错误的复制粘贴:

mycomp.c:202:5: error: expected identifier or ‘(’ before ‘return’
return SUCCESS;
^
mycomp.c:203:1: error: expected identifier or ‘(’ before ‘}’ token
}
^
makefile:10: recipe for target 'mycomp.o' failed

我尝试检查我的代码,但没有发现任何语法问题。我尝试遵循错误指南,例如,在“return”之前添加“(”或在“}”标记之前添加“(”,但这并没有改变任何东西,我仍然会遇到这些错误。

代码又长又乱,但我只在最后得到一个错误或者它:最后一个返回和最后一个 } 数字。

int main() {  
char command[SIZE_OF_LINE];
int commandIndex; int i;
int numbers[2]; char var[2];

/* As requested, initializing all complex values to 0 + 0i */
read_comp(A, NONE, 0 ,0);
read_comp(B, NONE, 0 ,0);
read_comp(C, NONE, 0 ,0);
read_comp(D, NONE, 0 ,0);
read_comp(E, NONE, 0 ,0);
read_comp(F, NONE, 0 ,0);

commandIndex = 0;

numbers[0] = commandIndex;
numbers[1] = commandIndex;
var[0] = '0';
var[1] = '0';

for(i = 0; ; i = 0)
if(!fgets(command, SIZE_OF_LINE, stdin)) {
i = undefinedCharSkipper(command, i);
commandIndex = commandIdentifier(command, i);

if(cmd[commandIndex].func == NULL) {
fprintf(stderr, "Command does not exist:%s\n", command);
}

if(strcmp(cmd[commandIndex].name, "read_comp") == 0) {
/* Recieving parameters and setting in place */
i = undefinedCharSkipper(command, i);
if(letterReceiver(i) != FAIL) {
var[0] = letterReceiver(i);
}

i = undefinedCharSkipper(command, i);
if(numberReceiver(command, i) != FAIL) {
numbers[0] = numberReceiver(command, i);
}

i = undefinedCharSkipper(command, i);
if(numberReceiver(command, i) != FAIL) {
numbers[1] = numberReceiver(command, i);
}

/* Running command */
read_comp(getComplex(var[0]), NONE, numbers[0], numbers[1]);
end(command, i);
}

if(strcmp(cmd[commandIndex].name, "print_comp") == 0 ) {
/* Recieving parameters and setting in place */
i = undefinedCharSkipper(command, i);
if(letterReceiver(i) != FAIL) {
var[0] = letterReceiver(i);
}

/* Running command */
print_comp(getComplex(var[0]), NONE, 0, 0);
end(command, i);
}

if(strcmp(cmd[commandIndex].name, "add_comp") == 0 ) {
/* Recieving parameters and setting in place */
i = undefinedCharSkipper(command, i);
if(letterReceiver(i) != FAIL) {
var[0] = letterReceiver(i);
}

i = undefinedCharSkipper(command, i);
if(letterReceiver(i) != FAIL) {
var[1] = letterReceiver(i);
}

/* Running command */
add_comp(getComplex(var[0]), getComplex(var[1]), 0, 0);
end(command, i);
}

if(strcmp(cmd[commandIndex].name, "sub_comp") == 0) {
/* Recieving parameters and setting in place */
i = undefinedCharSkipper(command, i);
if(letterReceiver(i) != FAIL) {
var[0] = letterReceiver(i);
}

i = undefinedCharSkipper(command, i);
if(letterReceiver(i) != FAIL) {
var[1] = letterReceiver(i);
}

/* Running command */
sub_comp(getComplex(var[0]), getComplex(var[1]), 0, 0);
end(command, i);
}

if(strcmp(cmd[commandIndex].name, "mult_comp_real") == 0) {
/* Recieving parameters and setting in place */
i = undefinedCharSkipper(command, i);
if(letterReceiver(i) != FAIL) {
var[0] = letterReceiver(i);
}

i = undefinedCharSkipper(command, i);
if(numberReceiver(command, i) != FAIL) {
numbers[0] = numberReceiver(command, i);
}

/* Running command */
mult_comp_real(getComplex(var[0]), NONE, numbers[0], 0);
end(command, i);
}

if(strcmp(cmd[commandIndex].name, "mult_comp_img") == 0) {
/* Recieving parameters and setting in place */
i = undefinedCharSkipper(command, i);
if(letterReceiver(i) != FAIL) {
var[0] = letterReceiver(i);
}

i = undefinedCharSkipper(command, i);
if(numberReceiver(command, i) != FAIL) {
numbers[0] = numberReceiver(command, i);
}

/* Running command */
mult_comp_img(getComplex(var[0]), NONE, 0, numbers[0]);
end(command, i);
}

if(strcmp(cmd[commandIndex].name, "mult_comp_comp") == 0) {
/* Recieving parameters and setting in place */
i = undefinedCharSkipper(command, i);
if(letterReceiver(i) != FAIL) {
var[0] = letterReceiver(i);
}

i = undefinedCharSkipper(command, i);
if(letterReceiver(i) != FAIL) {
var[1] = letterReceiver(i);
}

/* Running command */
mult_comp_comp(getComplex(var[0]), getComplex(var[1]), 0, 0);
end(command, i);
}

if(strcmp(cmd[commandIndex].name, "abs_comp") == 0) {
/* Recieving parameters and setting in place */
i = undefinedCharSkipper(command, i);
if(letterReceiver(i) != FAIL) {
var[0] = letterReceiver(i);
}

/* Running command */
abs_comp(getComplex(var[0]), NONE, 0, 0);
end(command, i);
}

if(strcmp(cmd[commandIndex].name, "stop") == 0) {
stop(NONE, NONE, 0, 0);
end(command, i);
}
}
else { /* Failed scanning the user's input */
printf("\n");
printf("Scanning had failed");
printf("\n");
}
}
return SUCCESS;
}

预期结果:编译没有错误,因为这是我遇到的仅有的 2 个错误。实际结果:出现 2 个错误。

最佳答案

仔细查看并正确缩进您的代码。

在部分

    }                     //----------------------- (1)
return SUCCESS; // -----------------------(2)
}

大括号不匹配,(1) 表示 main() 函数的右大括号,所以标记为 (2);你的 返回成功; 驻留在文件范围内,这是不允许的。

纠正你的缩进并注意括号。

关于c - 如何修复 Expected Identifiers 错误 C 语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53915085/

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