• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Strcmp()

  • Автор темы backspace
  • Дата начала
B

backspace

Функция Strcmp() сравнивает строку s2 со строкой s1.Если строка s1 лексикографически меньше строки s2,возращает отрицательное число.
В смысле каждый раз любое произвольное отрицательное число?или определенное?
 
M

Mice

backspace
Тебе сказано что - то про определенное число? Каждый раз любое. Как правило, знать ,какое именно там число нам вообще не нужно. Просто проверяем, больше нуля или меньше.
 
B

bini1988

Есть не проверенное подозрение, что возвращается разность сиволов, поскольку каждому символу соответсвует порядковый номер в соответсвии с таблицой ASCII, так символы можно вычитать:

C++:
cout << (int) 'z' << endl;
cout << (int) 'a' << endl;

int rez = 'z' - 'a';

Результат будет положительное число.
 
A

astronom

Код:
int
strcmp(s1, s2)
register const char *s1, *s2;
{
while (*s1 == *s2++)
if (*s1++ == 0)
return (0);
return (*(const unsigned char *)s1 - *(const unsigned char *)(s2 - 1));
}

:)

интересно, почему там именно (s2 - 1)?
;)
 
D

DarkKnight

А зачем так тему то развили :)
Ну глупо же, все таки сравнение булева-функция... 3 варианта =, <,>.. И все тут, больше еще впринципи использовать ни где нельзя :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!