Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Результаты выполнения этой программы таковы.





Индекс равен 9

Поскольку искомая подстрока существует в заданной строке, выполняется первая

Инструкция return. В качестве упражнения измените программу так, чтобы ею выполнялся поиск

Подстроки, которая не является частью заданной строки. В этом случае функция find_substr()

Должна возвратить значение -1 (благодаря второй инструкции return)

В следующем примере функция print_vertical() выводит аргумент

Командной строки в вертикальном направлении (вниз) по левому краю экрана. Поскольку эта

Функция не возвращает никакого значения, в ее объявлении использовано ключевое слово void.

#include <iostream>

Using namespace std;

void print_vertical(char *str);

int main(int argc, char *argv[])

{

if(argc==2) print_vertical(argv[1]);

Return 0;

}

void print_vertical(char *str)

{

while(*str)

cout << *str++ << '\n';

}

Поскольку print_vertical() объявлена как void-функция, ее нельзя использовать в

Выражении. Например, следующая инструкция неверна и поэтому не скомпилируется.

х = print_vertical("Привет!"); // ошибка

Чтобы вернуть указатель, функция должна объявить его тип в качестве типа возвращаемого

Значения. Вот как, например, объявляется тип возвращаемого значения для функции f(), которая

Должна возвращать указатель на целое число.

int *f();

Если функция возвращает указатель, то значение, используемое в ее инструкции return,

также должно быть указателем// которая возвращает указатель на подстроку.

#include <iostream>

Using namespace std;

char *find_substr(char *sub, char *str);

Int main()

{

char *substr;

substr = find_substr("три", "один два три четыре");

cout << "Найденная подстрока: " << substr;

Return 0;

}

// Функция возвращает указатель на искомую подстроку или нуль, если таковая не

Будет найдена.

char *find_substr(char *sub, char *str)

{

Int t;

char *p, *p2, *start;

for(t=0; str[t]; t++) {

p = &str[t]; // установка указателей

start = p;

р2 = sub;

while(*р2 && *p2==*p) { // проверка совпадения

р++; р2++;

}

/* Если достигнут конец р2-подстроки, то эта подстрока была найдена. */

if(!*р2) return start; // Возвращаем указатель на начало найденной подстроки.

}

return 0; // подстрока не найдена

}

Date: 2016-07-25; view: 332; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию