【发布时间】:2013-06-25 19:18:17
【问题描述】:
我已经学习 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 行:错误:预期的 ';'在'{'令牌之前
我怀疑这个错误是微不足道的,但你能解释一下为什么它不起作用,如果我至少有正确的想法吗?
【问题讨论】:
-
顺便说一句,你永远不会到达第二个 Fizzbuzz。
-
由于
elseif不是一个有效的关键字,编译器假定它是一个函数调用,不能合法地紧跟{。