C错误预期不合格-id之前'如果','否则'和' ' {'代币

时间:2016-02-08 20:51:04

标签: c

我正在用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
}

请记住,我已经从互联网上挑选了一些零碎的东西。任何建议,将不胜感激。谢谢

1 个答案:

答案 0 :(得分:1)

  1. 您需要在函数体周围放置大括号。并且你不应该在每个块周围都有问题 - 这会使q1这样的变量成为该块的本地变量,因此您不能在函数中使用它们。

  2. 每个声明必须;结尾。

  3. if()完全没有意义 - 你必须在()内放置一些东西;但在检查问题2的答案之前,我没有看到做额外检查的重点。

  4. 要更新correct,您必须使用=,而不是==;后者用于比较,而非作业。顺便说一句,写correct = correct + 1的惯用方法是correct++

  5. 由于main()被声明为返回int,因此您最后应该有一个return语句。

  6. 你有一堆拼写错误。例如,当您在&q12来电中使用&q1&q2时,您使用了&q3scanf()

  7. #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;
    }