练习1-17 编写一个程序,打印长度大于80个字符的所有输入行。
解析:这个题目比较简单,只需增加判断:长度大于80个字符(想偷懒,改成8个字符进行测试),便打印出该行即可。
#include <stdio.h>
#define MAXLINE 1000
int getline(char s[], int lim);
int main(int argc, char *argv[]) {
(void)argc;
(void)argv;
int len;
char line[MAXLINE];
while ((len = getline(line, MAXLINE)) > 0) {
if (len > 8) { // 此处改成最大8个字符
printf("[%d]%s", len, line);
}
}
return 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;
}
运行结果: