Функцията strcmp () сравнява два низа и връща 0, ако и двата низа са идентични.
C strcmp () Прототип
int strcmp (const char * str1, const char * str2);
Най- strcmp()
функцията се извършва по два низа и връща цяло число.
В strcmp()
сравнява два низа знак по знак.
Ако първият знак от два низа е равен, следващият знак от два низа се сравнява. Това продължава, докато съответните символи на два низа са различни или не ' '
бъде достигнат нулев знак .
Той е дефиниран в string.h
заглавния файл.
Върната стойност от strcmp ()
Върната стойност | Забележки |
---|---|
0 | ако и двата низа са идентични (равни) |
отрицателен | ако стойността ASCII на първия несравним символ е по-малка от втората. |
положително цяло число | ако стойността ASCII на първия несравним символ е по-голяма от втората. |
Пример: Функция C strcmp ()
#include #include int main() ( char str1() = "abcd", str2() = "abCd", str3() = "abcd"; int result; // comparing strings str1 and str2 result = strcmp(str1, str2); printf("strcmp(str1, str2) = %d", result); // comparing strings str1 and str3 result = strcmp(str1, str3); printf("strcmp(str1, str3) = %d", result); return 0; )
Изход
strcmp (str1, str2) = 32 strcmp (str1, str3) = 0
Първият ненадминат символ между низ str1 и str2 е трети знак. Стойността на ASCII на 'c' е 99, а стойността на ASCII на 'C' е 67. Следователно, когато се сравняват низове str1 и str2, връщаната стойност е 32.
Когато се сравняват низове str1 и str3, резултатът е 0, тъй като и двата низа са идентични.