为什么C中的这个Fizzbuzz程序不起作用?

时间:2013-06-25 19:18:18

标签: c fizzbuzz

我已经花了几个小时学习C,并且想尝试一下Fizzbizz程序来测试我的知识。

这是我写的代码:

#include <stdio.h>

int main() {
int i;
for (i = 1; i <21; i++) {
    if (i % 3 == 0) {
        if (i % 5 == 0) {
            printf("Fizzbuzz\n");
        }
        else {
            printf("Fizz\n"); 
        }
    }
    elseif (i % 5 == 0) {
        if (i % 3 == 0) {
            printf("Fizzbuzz\n");
        }
        else {
            printf("Buzz\n");
        }
    }
    else {
        printf("%d", i);
    }
}
return 0;
}

然而编译器返回

  

在功能'main'中:   第14行:错误:预期';'在'{'令牌

之前

我怀疑这个错误是微不足道的,但是你能解释为什么它不起作用,如果我至少得到了正确的想法吗?

2 个答案:

答案 0 :(得分:6)

我认为你需要“else if”而不是“elseif”。

答案 1 :(得分:1)

elseif不是C关键字;你需要else if

此外,您可能需要在数字案例中使用换行符:

    printf("%d\n", i);