. По-видимому самым общим типl 232e419c 6;м массива в «C» является массив символов. Чтобы проиллюстрировать использование массивов символов и обрабатывающих их функций, давайте напишем программу, которая читает набор строк и печатает самую длинную из них. Основная схема программы достаточно проста:
while (имеется еще строка)
if (эта строка длиннее самой длинной из предыдущих)
запомнить эту строку и ее длину,
напечатать самую длинную строку.
getline getchar
getline
copy
getline copy
#define maxline 1000 // Максимальная длина строки
main // Найти самую длинную строку
if (max > 0) //
printf("%s", save);
}
getline(char s[], int lim) // s,
s[i] = '\0';
return(i);
}
copy(char s1[],char s2[]) // s1 в s2
main getline getline
char s
int lim
целым.
s main getline return power copy действия и не возвращают никакого значения.
getline помещает в конец создаваемого ей массива символ \0 (нулевой символ, значение которого равно нулю). Это соглашение используется также компилятором с языка «C»: когда в «C»-программе встречается строчная константа типа
"Hello\n"
printf
H |
e |
l |
l |
o |
\n |
%s printf ожидает строку, представленную в такой форме. Проанализировав функцию COPY, вы обнаружите, что и она опирается на тот факт, что ее входной аргумент оканчивается символом \0, и копирует этот символ в выходной аргумент s2
main getline main
getline getline copy
reverse(s) s
|