求解程序注释,该如何处理
求解程序注释
由于刚刚入手C程序,现在做习题,但对本程序不是很清楚,请高手给予详细注释,谢谢!
------解决方案--------------------
字符数上限是MAXLINE,最后留两个字符的位置,一个放'\n',一个放'\0'。 所以是总数减2
由于刚刚入手C程序,现在做习题,但对本程序不是很清楚,请高手给予详细注释,谢谢!
- C/C++ code
#include <stdio.h> #define MAXLINE 1000 int getline(char line[], int maxline); void copy(char to[], char from[]); main() { int len; int max; char line[MAXLINE]; char longest[MAXLINE]; max = 0; while((len = getline(line,MAXLINE)) > 0) { printf("%d, %s", len,line); if(len > max) { max = len; copy(longest, line); } } if(max > 0) printf("%s",longest); return 0; } int getline(char s[], int lim) { int c, i, j; j = 0; for(i = 0; (c = getchar()) != EOF && c != '\n'; ++i) if(i < lim-2) { s[j] = c; ++j; } if(c == '\n') { s[j] = c; ++j; ++i; } s[j] = '\0'; return i; } void copy(char to[], char from[]) { int i; while((to[i] = from[i]) != '\0') ++i; }
------解决方案--------------------
字符数上限是MAXLINE,最后留两个字符的位置,一个放'\n',一个放'\0'。 所以是总数减2