错误如下:

main.c|188|error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token|
main.c|195|error: expected expression before '}' token|
main.c|195|error: expected expression before '}' token|
main.c|195|error: expected expression before '}' token|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

这是我的代码中它们出现的部分以及相应的行号:
(我正在代码块上对此进行编译)
//If Option 4 is selected

if (input == 4) {
    printf("You selected Option 4: Display all courses.\n");
    for (int counter = 0, counter < 560000, counter++) { //line 188
        course ToDisplay;
        fread(&ToDisplay, sizeof(course), 1, in_file);
        if (ToDisplay.dept != 000 && ToDisplay.num != 000) {
            printf("%2s.%d.%d %d.%d ", ToDisplay.div, ToDisplay.dept, ToDisplay.num, ToDisplay.credits, ToDisplay.title);`
        }
    }
} //line 195

最佳答案

在语句中使用分号代替逗号

for (int counter = 0, counter < 560000, counter++) { //line 188
                    ^^                ^^

否则编译器会考虑记录
int counter = 0, counter < 560000, counter++

作为几个变量的声明(具有相同的名称)

关于c - for循环上的编译器错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29271846/

10-12 04:41