Files
first-repo/longest_line.c
2025-02-06 12:54:34 +02:00

39 lines
794 B
C

#include <stdio.h>
#define MAXLINE 1000
int getlime(char line[], int maxline); /* tasty lime! */
void copy(char to[], char from[]);
int main() {
int current_len, max_len = 0;
char current_line[MAXLINE];
char longest[MAXLINE];
while ((current_len = getlime(current_line, MAXLINE)) > 0)
if(current_len > max_len) {
max_len = current_len;
copy(longest, current_line);
}
if (max_len > 0) /* there was some line */
printf("%s", longest);
return 0;
}
int getlime(char s[], int lim) {
int ch, i;
for (i = 0; i < lim - 1 && (ch = getchar()) != EOF && ch != '\n'; ++i)
s[i] = ch;
if (ch == '\n') {
s[i] = ch;
++i;
}
s[i] = '\0';
return i;
}
void copy(char to[], char from[]) {
for (int i = 0; (to[i] = from[i]) != '\0'; ++i)
;
}