C错误:在“if”、“else”和“{”标记之前应为非限定id 我正在编写一个C++的基本程序,以前我还没有在C语言中编写过程序,所以我似乎有一些基本的错误。 该程序是一个小测验。它是: #include <stdio.h> int main(void) int correct = 0 { int q1; printf("What is 24/(6-3)-7?\n "); scanf("%d",&q1) } { int q2; printf("What is -3x4+16?\n "); scanf("%d",&q12) }{ int q3; printf("What is 9²(1/27)?\n "); scanf("%d",&q1) } if(q1 == 1){ correct == correct + 1 } if(){ } else if if(q2 == 4){ correct == correct + 1 } if(q3 == 3){ correct == correct + 1 }

C错误:在“if”、“else”和“{”标记之前应为非限定id 我正在编写一个C++的基本程序,以前我还没有在C语言中编写过程序,所以我似乎有一些基本的错误。 该程序是一个小测验。它是: #include <stdio.h> int main(void) int correct = 0 { int q1; printf("What is 24/(6-3)-7?\n "); scanf("%d",&q1) } { int q2; printf("What is -3x4+16?\n "); scanf("%d",&q12) }{ int q3; printf("What is 9²(1/27)?\n "); scanf("%d",&q1) } if(q1 == 1){ correct == correct + 1 } if(){ } else if if(q2 == 4){ correct == correct + 1 } if(q3 == 3){ correct == correct + 1 },c,C,请记住,这是我从互联网上摘取的零碎作品。如有任何建议,将不胜感激。谢谢 你需要在函数体周围放上大括号,而且你不应该在每个询问问题的块周围都放上大括号——这会使像q1这样的变量成为该块的局部变量,所以你以后不能在函数中使用它们 每个语句都必须以;结尾 如果是完全没有意义的-你必须把一些东西放在这个问题里面;但是我不认为在检查问题2的答案之前做额外检查有什么意义 要更新correct,必须使用=,而不是==;后者用于比较,而不是赋值。顺便说一句,编写correct=correct+1的惯用方法是co

请记住,这是我从互联网上摘取的零碎作品。如有任何建议,将不胜感激。谢谢

你需要在函数体周围放上大括号,而且你不应该在每个询问问题的块周围都放上大括号——这会使像q1这样的变量成为该块的局部变量,所以你以后不能在函数中使用它们

每个语句都必须以;结尾

如果是完全没有意义的-你必须把一些东西放在这个问题里面;但是我不认为在检查问题2的答案之前做额外检查有什么意义

要更新correct,必须使用=,而不是==;后者用于比较,而不是赋值。顺便说一句,编写correct=correct+1的惯用方法是correct++

因为main被声明为返回int,所以在末尾应该有一个return语句

你有一大堆拼写错误。例如,你在scanf通话中使用&q12和&q1,意思是&q2和&q3


首先这不是,其次这不是一个程序,它只是一个不应该编译的任意代码。请阅读有关作用域的内容!您需要在函数体周围{}圈。@Barmar解决了大部分问题。现在我只得到了预期的非限定id{'非常感谢。这就解决了问题,我的程序正在编译。我以后会注意这些错误。另外,如果这些错误看起来很愚蠢,我很抱歉,我才12岁,刚刚开始编程。再次感谢!很高兴看到这么年轻的人尝试这个。但是你真的需要更仔细地学习教程中的语法。所以我这不是家教服务,你应该知道真正的基础知识。好的。我会的。再次感谢你的帮助。
#include <stdio.h>
int main(void) {
    int correct = 0;

    int q1;
    printf("What is 24/(6-3)-7?\n ");
    scanf("%d",&q1);

    int q2;
    printf("What is -3x4+16?\n ");
    scanf("%d",&q2);

    int q3;
    printf("What is 9^(1/2)?\n ");
    scanf("%d",&q3);

    if(q1 == 1){
        correct = correct + 1;
    }
    if(q2 == 4){
        correct = correct + 1;
    }
    if(q3 == 3){
        correct = correct + 1;
    }

    printf("You got %d answers correct!\n", correct);
    return 0;
}