3 / 3 / 2
Регистрация: 07.08.2018
Сообщений: 83
1

Как работает эта функция?

13.11.2020, 19:40. Показов 1649. Ответов 3

Доброго дня. Имеется самописный аналог функции strcmp. Но никак не могу понять, как работает эта функция. Что и почему происходит, с чем сравнивается?
C++
1
2
3
4
5
6
int strcmp ( const char *first_string, const char *second_string )
{
    while ( *first_string && *second_string && *first_string == *second_string )
        ++first_string, ++second_string;
    return *first_string - *second_string;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2020, 19:40
Ответы с готовыми решениями:

Как работает эта функция?
Вот код программы крестики-нолики. Пожалуйста, объясните на пальцах как работает ф-ция "botMove"....

Как работает эта функция?
Как работает эта функция?Я знаю, что она ищет простые числа, но каким образом,я не понимаю.Например...

Не понимаю как работает эта функция
Что означают аргументы & и * в этой функции ? template <typename T> inline T* const& max(T*...

Объясните пожалуйста как работает эта функция
void addUser(Database & database, const int inserted = -1) { User user; cout << "Введите...

3
1172 / 833 / 359
Регистрация: 26.02.2015
Сообщений: 3,743
13.11.2020, 19:48 2
Лучший ответ Сообщение было отмечено ivan_proger как решение

Решение

Так понятнее?

C++
1
2
3
4
5
6
7
8
9
int strcmp(const char first_string[], const char second_string[]) {
 
    std::size_t i = 0;
 
    while (first_string[i] && second_string[i] && first_string[i] == second_string[i])
        ++i;
    return first_string[i] - second_string[i];
 
}
1
"C with Classes"
1590 / 1369 / 512
Регистрация: 16.08.2014
Сообщений: 5,693
Записей в блоге: 1
13.11.2020, 19:48 3
Лучший ответ Сообщение было отмечено ivan_proger как решение

Решение

Цитата Сообщение от ivan_proger Посмотреть сообщение
*first_string && *second_string
это поиск нуля в конце одной из строк
Цитата Сообщение от ivan_proger Посмотреть сообщение
*first_string == *second_string
это проверка на равенство символов
Цитата Сообщение от ivan_proger Посмотреть сообщение
++first_string, ++second_string;
это инкремент указателей
Цитата Сообщение от ivan_proger Посмотреть сообщение
*first_string - *second_string;
это разница символов
1
3 / 3 / 2
Регистрация: 07.08.2018
Сообщений: 83
13.11.2020, 19:52  [ТС] 4
Nishen, Отлично понятно! Спасибо большое

Добавлено через 25 секунд
_stanislav, Понял, спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2020, 19:52
Помогаю со студенческими работами здесь

Не могли бы объяснить, как работает эта функция для удаления цифр?
char* delDig(char *S) { int i,j; i=0; for (j=0; j<strlen(S); j++) if ((S <...

Объясните как работает эта программа
#include <stdio.h> #include <iostream> enum { OUT, IN }; int main () { int c, nw, state;...

Как работает эта часть кода?
element *el, *n_el; int i; n_el = (element *)malloc(sizeof(element)); printf("Vvedite FIO:...

Как работает эта штука, и как сделать нечто подобное ?
Я хочу сделать такие же блоки с линиями Какой алгоритм тут используется чтобы в правильном...

Объясните пожалуйста как работает эта сортировка
Я не совсем понимаю что происходит с вектором #include <stdio.h> #include <iostream> #include...

Как работает эта программа? (клиент-сервер)
клиент: #include <stdio.h> #include <string.h> #include <winsock2.h> #include <windows.h>...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru