小编Dia*_*orp的帖子

K&R 中的 getline 函数定义

以下是第 29 页 K&R 中的 getline 实现,

# define MAXLINE 1000
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;
    
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我们需要在 for 循环中执行“i < lim - 1”。对于正确的索引,为什么“ i < lim ”不够?

任何帮助将非常感激...

c for-loop c-strings getchar

2
推荐指数
1
解决办法
99
查看次数

标签 统计

c ×1

c-strings ×1

for-loop ×1

getchar ×1