Прототип функции 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;
}
Пример работы программы
Угадайте мой любимый фрукт! >> айва
Угадайте мой любимый фрукт! >> абрикос
Угадайте мой любимый фрукт! >> черешня
Угадайте мой любимый фрукт! >> яблоко
Правильный ответ!