我已经花了几个小时学习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行:错误:预期';'在'{'令牌
之前
我怀疑这个错误是微不足道的,但是你能解释为什么它不起作用,如果我至少得到了正确的想法吗?
答案 0 :(得分:6)
我认为你需要“else if”而不是“elseif”。
答案 1 :(得分:1)
elseif
不是C关键字;你需要else if
。
此外,您可能需要在数字案例中使用换行符:
printf("%d\n", i);