时间表测验(错误)

时间:2015-06-16 12:13:48

标签: c if-statement syntax-error expression

需要帮助:D

所以试着为我的时间做一个时间表的测验 兄弟。非常新的编码,所以试图这么简单 可能但真的卡住了。任何帮助都是极好的 基本上我一直收到这个错误

[在功能'主要':第17行:错误:预期表达式在'否则']

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

3 个答案:

答案 0 :(得分:1)

您的代码有各种语法错误(If而不是if,if-condition之后的分号)。此外,您的代码有一个逻辑问题,您在其中读取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;
}

答案 1 :(得分:1)

语法错误在if语句后删除分号。如果(回答==&#39; 8&#39;); 同样回答比较为int而不是Char。

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

答案 2 :(得分:0)

工作版本在这里:

#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)我在if语句中被大写。它不应该

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