strcmp c: правильное сравнение строк в языке Си
Функция strcmp() в языке Си используется для сравнения строк. Она сравнивает две строки и возвращает 0, если они идентичны. Если первая строка меньше второй, то функция возвращает отрицательное число. Если же первая строка больше второй, то возвращается положительное число.
Ниже приведен код, демонстрирующий работу функции strcmp():
#include
#include
int main()
{
char str1[10] = "hello";
char str2[10] = "world";
int result = strcmp(str1, str2);
if(result == 0)
{
printf("The strings are equal\n");
}
else if(result < 0)
{
printf("The first string is less than the second\n");
}
else
{
printf("The first string is greater than the second\n");
}
return 0;
}
В данном примере строка str1 меньше строки str2, поэтому результат будет отрицательным. Если обе строки идентичны, то результат будет равен 0.
Кроме того, функция strcmp() может использоваться для сортировки массивов строк:
#include
#include
#define MAX_LEN 100
int main()
{
int n, i, j;
char str[MAX_LEN][MAX_LEN], temp[MAX_LEN];
printf("Enter the number of strings: ");
scanf("%d", &n);
printf("Enter the strings: ");
for(i=0; i 0)
{
strcpy(temp, str[i]);
strcpy(str[i], str[j]);
strcpy(str[j], temp);
}
}
}
printf("\nSorted strings: ");
for(i=0; i
В этом примере пользователь вводит несколько строк, которые затем сортируются в алфавитном порядке с помощью функции strcmp(). Для сортировки используется простой алгоритм сортировки пузырьком.