Шаг 28.
Microsoft Visual C++ 2010. Язык С/С++.
Создание и использование функций. Функция копирования строки в строку

    На этом шаге мы рассмотрим особенности создания такой функции.

    Функция сору() показана ниже:

void copy(char save[],char line[])
{
	int i=0; 
	while((save[i]=line[i]) != '\0')
		i++;
}

    Эта функция похожа на предыдущую (substr()), но пересылка символов начинается с нулевого элемента входного массива line[] в нулевой элемент выходного массива save[]. Цикл организован с помощью конструкции while. Поскольку на входе имеется строка символов, то она обязательно заканчивается символом \0. В условии окончания цикла имеется выражение:

  (save[i]=line[i]) != '\0'

    Чтобы вычислить.это выражение, потребуется, во-первых, переслать сначала i-й символ из входного массива line[] в i-й элемент выходного массива save[] и после этого его значение проверить на совпадение с \0.

    Если совпадения не будет, выполнится тело цикла while: индекс элемента массива возрастет на единицу, после чего станет готовым к тому, чтобы по нему переслать следующий символ из line[] в save[]. Поскольку эта функция ничего не возвращает, то отсутствует оператор return. Как только будет передан символ \0, цикл прекратится и программа "провалится" на закрывающую тело while фигурную скобку. Это означает, что функция завершилась.

    На следующем шаге мы рассмотрим структуру основной программы.




Предыдущий шаг Содержание Следующий шаг