Функция strcmp в Си: сравнение строк
Функция strcmp() в Си используется для сравнения двух строк.
Она принимает два аргумента - две строки, которые нужно сравнить. Функция начинает сравнение с первого символа каждой строки и продолжает сравнение до тех пор, пока не найдется различие между символами или не достигнут конец одной из строк. Если строки эквивалентны, возвращается ноль, а если встречается первое различие, то возвращается разница между значениями символов, расположенных в тех же местах.
Например, следующий код сравнивает две строки "Hello World" и "Hello":
#include
#include
int main() {
char str1[] = "Hello World";
char str2[] = "Hello";
int result = strcmp(str1, str2);
if (result == 0) {
printf("Strings are equal");
} else if (result < 0) {
printf("String 1 is less than string 2");
} else if (result > 0) {
printf("String 1 is greater than string 2");
}
return 0;
}
В этом примере функция сравнит две строки и вернет отрицательное значение, потому что первая строка включает в себя дополнительные символы. Вывод будет "String 1 is less than string 2".
Также, использование strcmp() можно использовать для поиска подстроки в строке. Например:
#include
#include
int main() {
char str1[] = "The quick brown fox";
char str2[] = "brown";
int result = strcmp(str1, str2);
if (result == 0) {
printf("Substring found");
} else {
printf("Substring not found");
}
return 0;
}
В этом примере происходит поиск подстроки "brown" в строке "The quick brown fox". strcmp() вернет нулевое значение, когда она находит искомую подстроку, и функция выведет "Substring found".
В заключении, функция strcmp() очень полезна для сравнения строк или поиска подстроки в строке и может быть использована во многих различных сценариях.