Advertisement
Unnnamedddd

Untitled

Jan 23rd, 2021
1,174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.28 KB | None | 0 0
  1. #include <stdio.h>
  2. #define MAXLINE 1000 /* максимальный размер вводимой строки */
  3. int getline(char linef], int MAXLINE);
  4. void copy(char to[], char fromf]);
  5. /* печать самой длинной строки */
  6. main()
  7. {
  8.     int len; /* длина текущей строки */
  9.     int max; /* длина максимальной из просмотренных строк */
  10.     char line[MAXLINE]; /* текущая строка */
  11.     char longest[MAXLINE]; /* самая длинная строка */
  12.     max = 0;
  13.     while ((len = getline(line, MAXLINE)) > 0)
  14.         if (len > max) {
  15.             max = len;
  16.             copy(longest, line);
  17.         }
  18.     if (max > 0) /* была ли хоть одна строка? */
  19.         printf("%s", longest);
  20.     return 0;
  21. }
  22.  
  23. /* getline: читает строку в s, возвращает длину */
  24. int getline(char s[], int lim)
  25. {
  26.     int c, i;
  27.     for (i = 0; i < lim-1 && (c = getchar()) != EOF && с != '\n'; ++i)
  28.         s[i] = c;
  29.     if (c == 'n') {   // не понимаю, зачем нужен этот if?
  30.         s[i] = c;
  31.         ++i;
  32.     }
  33.     s[i] = '\0';
  34.     return i;
  35. }
  36. /* copy: копирует из 'from' в 'to'; to достаточно большой */
  37. void copy(char to[], char from[])
  38. {
  39.     int i;
  40.     i = 0;
  41.     while ((to[i] = from[i]) != '\0')
  42.         ++i;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement