我正在尝试使用C 编程语言学习 C 的基础知识 - Brian Kernighan 和 Dennis Ritchie
在下面的程序中,我不明白'maxlineLength
' 的值来自哪里?
for 循环设置为在 ' i
' 小于时运行maxLineLength-1
,但它的值是什么maxLineLength
以及它来自哪里?
据我了解,当在这样的函数中声明参数时,会将值传递给它们,所以它们肯定必须在其他地方声明才能传递值?
#include <stdio.h>
#define MAXIMUMLINELENGTH 1000
#define LONGLINE 20
main() {
int stringLength;
char line[MAXIMUMLINELENGTH];
while((stringLength = getLineLength(line, MAXIMUMLINELENGTH)) > 0)
if(stringLength < LONGLINE){
printf("The line was under the minimum length\n");
}
else if (stringLength > LONGLINE){
printf("%s", line);
}
return 0;
}
int getLineLength(char line[], int maxLineLength){
int i, c;
for(i = 0; i< maxLineLength-1 && ((c = getchar())!= EOF) && c != '\n'; i++)
line[i] = c;
if(c == '\n') {
line[i] = c;
i++;
}
line[i] = '\0';
return i;
}