Прототип функции strcmp:
int strcmp( const char * string1, const char * string2 );
Заголовочный файл:
Название | Язык |
---|---|
string.h | С |
cstring | С++ |
Описание
Эта функция сравнивает символы двух строк, string1
и string2
. Начиная с первых символов функция strcmp
сравнивает поочередно каждую пару символов, и продолжается это до тех пор, пока не будут найдены различные символы или не будет достигнут конец строки.
Параметры:
- string1
Первая сравниваемая Си-строка. - string2
Вторая сравниваемая Си-строка.
Возвращаемое значение
Функция возвращает несколько значений, которые указывают на отношение строк:
Нулевое значение говорит о том, что обе строки равны.
Значение больше нуля указывает на то, что строка string1
больше строки string2
, значение меньше нуля свидетельствует об обратном.
Функция strcmp
начинает сравнивать по одному символу и как только будут найдены первые неодинаковые символы, функция проанализирует числовые коды этих символов. Чей код окажется больше, та строка и будет считаться большей.
Пример: исходный код программы
//пример использования функции strcmp #include <iostream> #include <cstring> int main () { char fruit[] = "яблоко"; // загаданный фрукт char answer[80]; // строка-ответ do { std::cout << "Угадайте мой любимый фрукт! >> "; std::cin >> answer; } while ( strcmp(fruit, answer) != 0); // пока фрукт не отгадан, цикл будет работать std::cout << "Правильный ответ!n"; return 0; }
Пример работы программы
Угадайте мой любимый фрукт! >> айва
Угадайте мой любимый фрукт! >> абрикос
Угадайте мой любимый фрукт! >> черешня
Угадайте мой любимый фрукт! >> яблоко
Правильный ответ!