1-17 编写一个程序,打印长度大于 80 个字符的所有输入行

发布时间 2023-07-15 15:57:06作者: 语巫

80个字符验证过于麻烦,改成8个字符。

Archlinux

GCC 13.1.1  20230429

2023-07-15 15:42:21 星期六

 


点击查看代码
#include <stdio.h>

#define MAX_LINE_LENGTH 1000
#define MIN_LINE_LENGTH 8

int getline_n(char line[], int maxline);

int main()
{
    char line[MAX_LINE_LENGTH];
    int len;

    while ((len = getline_n(line, MAX_LINE_LENGTH)) > 0) {
        if (len > MIN_LINE_LENGTH) {
            printf("%s", line);
        }
    }

    return 0;
}

int getline_n(char line[], int maxline) 
{
    int c, i;

    for (i = 0; i < maxline - 1 && (c = getchar()) != EOF && c != '\n'; ++i) {
        line[i] = c;
    }

    if (c == '\n') {
        line[i] = c;
        ++i;
    }

    line[i] = '\0';

    return i;
}

 


运行截图:

image

超过8个字符有输出,不超过没有,输出正确。

 


小白刚学习C语言,代码质量不高,欢迎评论。