时间表测验(错误)

Time's Tables Quiz (Error)

需要帮助:D

所以试着开始为我做一个时间表测验 brother.Very 编码新手所以尽量做到简单 可能但真的卡住了。任何帮助都是极好的 基本上我一直收到这个错误

[ 在函数 'main' 中:第 17 行:错误:'else']

之前的预期表达式
#include <stdio.h>

int main (){

int answers_eight[] = {8,16,24,32,40,48,56,64,72,80,88,96};
int answer ;

printf ("8x1 = : ");
scanf ("%d",&answer);

If (answer == '8');

{
    printf ("Correct");
}

else 
 {
    printf ("Incorrect");
}

return 0;
}

您的代码存在各种语法错误(If 而不是 if,if 条件后的分号)。此外,您的代码在读取 int 然后与字符串进行比较时存在逻辑问题。此版本有效且缩进正确:

    #include <stdio.h>

int main (){

    int answers_eight[] = {8,16,24,32,40,48,56,64,72,80,88,96};
    int answer ;

    printf ("8x1 = : ");
    scanf ("%d",&answer);

    if (answer == 8) {
        printf ("Correct");
    } else {
        printf ("Incorrect");
    }

    return 0;
}

语法错误删除if语句后的分号。如果(答案=='8'); 还回答比较为 int 而不是 Char.

if(answer==8)
{
printf("Correct");
}
else{
printf("Incorrect");
}

工作版本在这里:

#include <stdio.h>

int main (){

    int answers_eight[] = {8,16,24,32,40,48,56,64,72,80,88,96};
    int answer ;

    printf ("8x1 = : ");
    scanf ("%d",&answer);

    if (answer == 8) {
            printf ("Correct");
    } else {
                 printf ("Incorrect");
         }

    return 0;
}

我改变了什么?

1) I in if 语句被大写。不应该

2) 您在 scanf 中读取数字,但在 if 语句中,您比较的是字符,而不是数字。