下面的函数是返回通过键盘输入的行的长度。但它的说法是(C 编程语言 K&R)it will return the length of the line, or zero if end of file is encountered.
但是当我用我的 C 基本知识进行分析时,至少它正在返回行的长度 until EOF
。那么它什么时候返回0
。或者我的理解是错误的。任何人都可以澄清我吗?
int getline(char s[],int lim)
{
int c, i;
for (i=0; i < lim-1 && (c=getchar())!=EOF && c!=’\n’; ++i)
s[i] = c;
if (c == ’\n’) {
s[i] = c;
++i;
}
s[i] = ’\0’;
return i;
}