#include<stdio.h>
int main()
{
int c, nl;
nl = 0;
while ((c = getchar()) ! = EOF){
if (c =='\n'){
nl++;
}
printf("%d\n", nl);
}
}
当我尝试使用gcc -o fun2 countline.c
进行编译时
我收到此错误
countline.c: In function 'main':
countline.c:12:26: error: expected ')' before '!' token
导致此错误的原因是什么?我错过了什么?我无法理解。
答案 0 :(得分:7)
不等式运算符是!=
,而不是! =
。该空间使编译器将!
和=
解释为两个独立的运算符(逻辑否定和赋值),这在该上下文中没有意义。
答案 1 :(得分:2)
简单的间距问题,您需要!=
而不是! =
所以请修复此问题。
您的代码变为:
#include<stdio.h>
int main()
{
int c, nl;
nl = 0;
while ((c = getchar()) != EOF){
if (c =='\n')
nl++;
printf("%d\n", nl);
}
}
我也清理了间距。
答案 2 :(得分:2)
你写过! =
。那应该是!=
。你只是不能在运算符的字符之间加一个空格!
答案 3 :(得分:0)
不是:(c = getchar()) ! = EOF
,请使用(c = getchar()) != EOF
。 !=
是一个操作员!