Вход

Просмотр полной версии : [Вопрос] Какая разница?



nikvlad
08.06.2016, 20:53
Может кто объяснить по полочкам, в чем разница?:

strcmp

и

!strcmp

Redsan
08.06.2016, 22:34
strcmp - функция, которая сравнивает строки, если строки одинаковы то она возвращает нулевое значение.
! – оператор НЕ.

Если введенная команда при сравнении с помощью strcmp возвращает значение, значение сравнивается с нулем, и если оно не нулевое(-1), то код не выполняется дальше.


if (strcmp("/redsan", cmdtext, true, 7) == 0)
{
// Тут выполняется наш код
return 1;
}
Если введенная команда НЕ совпадает с текстом /redsan, то strcmp не равен нулю и код дальше не выполняется.
PHP код:

if (!strcmp("/redsan", cmdtext, true, 7))
{
// Тут выполняется наш код
return 1;
}

nikvlad
08.06.2016, 22:44
strcmp - функция, которая сравнивает строки, если строки одинаковы то она возвращает нулевое значение.
! – оператор НЕ.

Если введенная команда при сравнении с помощью strcmp возвращает значение, значение сравнивается с нулем, и если оно не нулевое или его нет вообще, то код не выполняется дальше.


if (strcmp("/redsan", cmdtext, true, 7) == 0)
{
// Тут выполняется наш код
return 1;
}

Если введенная команда НЕ совпадает с текстом /redsan, то strcmp ничего не возвращает и код дальше не выполняется.


if (!strcmp("/redsan", cmdtext, true, 7))
{
// Тут выполняется наш код
return 1;
}
Спасибо.

Redsan
08.06.2016, 22:50
Спасибо.

Немного подправил (х2).