Форум программистов, компьютерный форум CyberForum.ru

Объясните код функции - C++

Восстановить пароль Регистрация
 
mozart_45
 Аватар для mozart_45
1 / 1 / 0
Регистрация: 21.07.2015
Сообщений: 42
24.07.2015, 07:55     Объясните код функции #1
Всем Привет Пожалуйста Объясните эту функцию



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void String(char *str,const char *str2)
{
    int i(0);
    int j(0);
 
 
    while(1)
    {
        if(str[i] !='\0')
        {
            i++;
            continue;
        }
 
        if(str2[j] !='\0')
        {
            str[i]=str2[j];
            i++;j++;
        }
        else{str[i]='\0';return;}
    }
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2015, 07:55     Объясните код функции
Посмотрите здесь:

C++ объясните код
Объясните код C++
C++ Объясните код
C++ Объясните код
C++ Объясните код
C++ Объясните код
Объясните код C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,165
Завершенные тесты: 1
24.07.2015, 08:10     Объясните код функции #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
void String(char *str,const char *str2)
{
// функции передаются адреса двух текстовых массивов
    int i(0);
    int j(0);
    while(1)
    {
        if(str[i] !='\0')
        {
            i++;
            continue;
        } // находим конец первой строки
 
        if(str2[j] !='\0')
        {
            str[i]=str2[j]; // переписываем символы второй строки в конец первой
            i++;j++;
        }
      else
        {
             str[i]='\0'; // когда 2 строка кончилась записываем признак конца в первую строку
             return; // завершаем функцию
         }
      
    }
}
В целом функция делает объединение строк, т.е. то же самое, что и стандартная strcat из string.h
Можно чуток оптимизировать
C++
1
2
3
4
5
6
7
8
9
10
11
12
void strcat(char *str,const char *str2)
{
    int i=0,j=0;
    while(str[i++] )
         ;   // находим конец первой строки
     while(str2[j])
     {
        str[i]=str2[j]; // переписываем символы второй строки в конец первой
        i++;j++;
    }
    str[i]=0;
}
mozart_45
 Аватар для mozart_45
1 / 1 / 0
Регистрация: 21.07.2015
Сообщений: 42
24.07.2015, 10:01  [ТС]     Объясните код функции #3
СПАСИБО
Yandex
Объявления
24.07.2015, 10:01     Объясните код функции
Ответ Создать тему
Опции темы

Текущее время: 18:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru