Функция strcmp(s1,s2) сравнивает строки s1 и s2 и возвращает 0, если строки равны, т.е. содержат одно и то же число одинаковых символов в одинаковом порядке. Если первая строка лексикографически (в смысле словаря) больше второй, то функция возвращает положительное число, если меньше ‑ отрицательное.
Пример 7 : Сравнение строк
#include <stdio.h>
#include <string.h>
void main()
{char s1[30], s2[30];
puts("Введите 1-ую строку");
gets(s1);
puts("Введите 2-ую строку");
gets(s2);
puts("Введены строки:");
puts(s1);
puts(s2);
int flag=strcmp(s1,s2);
if(flag==0) puts("s1==s2");
else if(flag>0) puts("s1>s2");
else puts ("s1<s2");
}
Если ввести 1 строку"abc",2 строку"abc",
то получим"s1==s2";
Если ввести 1 строку"abcd",2 строку"bcd",
то получим"s1<s2";
Если ввести 1 строку"bcс",2 строку"aa",
то получим"s1>s2";
Функция strcat(s1,s2) присоединяет (конкатенирует) строку s2 к строке s1 и помещает получившуюся строку в строку s1. Нулевой байт, который завершал строку s1, будет в результате замещен первым символом строки s2. Здесь так же необходимо следить, чтобы в строке s1 хватило места для объединенной строки.
char s1[50]="Сегодня - ", s2[15]="понедельник";
strcat(s1,s2);