Язык программирования C



Операции увеличения и уменьшения - часть 2


более компактной записью

if ( c == '\n' ) s[i++] = c;

В качестве третьего примера рассмотрим функцию strcat(s,t), которая приписывает строку t в конец строки s, образуя конкатенацию строк s и t. При этом предполагается, что в s достаточно места для хранения полученной комбинации.

strcat(s,t) /* concatenate t to end of s */ char s[], t[]; /* s must be big enough */ { int i, j;

i = j = 0; while (s[i] != '\0') / *find end of s */ i++; while((s[i++] = t[j++]) != '\0') /*copy t*/ ; }

Tак как из t в s копируется каждый символ, то для подготовки к следующему прохождению цикла постфиксная операция ++ применяется к обеим переменным i и j.

Упражнение 2-3

Напишите другой вариант функции squeeze(s1,s2), который удаляет из строки s1 каждый символ, совпадающий с каким-либо символом строки s2.

Упражнение 2-4

Напишите программу для функции any(s1,s2), которая находит место первого появления в строке s1 какого-либо символа из строки s2 и, если строка s1 не содержит символов строки s2, возвращает значение -1.




Содержание  Назад  Вперед