4 c
我在以下代码中找不到错误:
#include <stdio.h>
#define LOOP 0
#define ENDLOOP 1
main()
{
int c, loop;
loop = LOOP;
while ((c = getchar()) loop != ENDLOOP) {
if (c == 'e'|| c == 'E') {
printf ("END LOOP\n");
loop = ENDLOOP;
}
else if (c == 'c' || c == 'C')
printf ("Cheese\n");
else
printf ("Not Cheese\n");
}
}
Run Code Online (Sandbox Code Playgroud)
终端给我这个错误:
1-1.c: In function ‘main’:
1-1.c:8: error: syntax error before ‘loop’
1-1.c: At top level:
1-1.c:13: error: syntax error before ‘else’
Run Code Online (Sandbox Code Playgroud)
你有一个问题:
((c = getchar()) loop != ENDLOOP)
Run Code Online (Sandbox Code Playgroud)
应该:
((c = getchar()) && loop != ENDLOOP)
Run Code Online (Sandbox Code Playgroud)
我建议以完全不同的方式编写它:
#include <stdio.h>
int main()
{
int c;
while (c = getchar()) {
if (c == 'e' || c == 'E') {
printf ("END LOOP\n");
break;
}
if (c == 'c' || c == 'C') {
printf ("Cheese\n");
} else {
printf ("Not Cheese\n");
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我认为这样做错误的机会较少.您可能还想考虑使用tolower.
| 归档时间: |
|
| 查看次数: |
902 次 |
| 最近记录: |