这是我的问题 -
char c,int nl=1;
printf("Enter string");
while((c=getchar()) != EOF)
{
if(c=='\n')
++nl;
}
printf("Number of lines=%d",nl);
没有错误。但是当我提供输入时,它继续接受输入(不要从控制台屏幕出来)。为什么编译器无法读取EOF值?
我也试过while((c=getchar())!='\0')
但是没有用!
答案 0 :(得分:1)
char
无法存储EOF
。使用int
存储getchar()
的返回值。
尝试更改
char c,int nl=1;
到
int c,nl=1;
答案 1 :(得分:1)
您应将c
声明为int
而不是char
。