【发布时间】:2020-10-01 01:51:49
【问题描述】:
这个函数的输入是s[] - 字符数组和lim - 这个数组的最大可能长度。
函数本身用于确定输入到控制台中的输入字符数组的长度。
问题是,c != '\n' 循环中的c != '\n' 条件的主要思想是什么?
我猜它是用来打破循环的。这很清楚。但是如果我不在输入中输入\n,我将无法理解它是如何实现的。
这是像\0 这样的数组末尾的终结符吗?
如果是这样,我们为什么要在那之后使用if (c == '\n') 条件?
代码:
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;
}
【问题讨论】:
-
它不是
c! = '\n'而是c != '\n'!
标签: c arrays for-loop conditional-statements character