Char — это ключевое слово, используемое для представления символов в C. Размер символа в C составляет 1 байт.
Есть два метода сравнения символов в C:
- Использование значений ASCII
- Использование функции strcmp().
- Использование значений ASCII для сравнения символов
Первый способ довольно прост, все мы знаем, что каждый символ может быть в верхнем или нижнем регистре и иметь разное значение ASCII. Таким образом, мы можем напрямую сравнить их значения ASCII, чтобы увидеть, какой символ больше или меньше другого.
- Если разница между первым символом и вторым символом > 0 -> Первый символ больше между ними.
- Если разница между первым символом и вторым символом <0 -> Второй символ больше между ними.
- Если разница между первым символом и вторым символом = 0 -> Оба символа равны
Пример:
С
// C Program to compare
// characters using ASCII values
#include <stdio.h>
// Function to compare char
void
compare(
char
a,
char
b)
{
if
(a == b)
printf
(
"Both are equal %c and %c\n"
, a, b);
else
printf
(
"%c and %c are not equal\n"
, a, b);
}
int
main()
{
// char declared
char
x =
'g'
;
char
y =
'G'
;
char
z =
'g'
;
// characters compared
compare(x, y);
compare(y, z);
compare(x, z);
return
0;
}
Выход
g and G are not equal G and g are not equal Both are equal g and g
Использование функции strcmp() для сравнения символов
Второй метод, который можно использовать, — это функция strcmp(), определенная в заголовочном файле строки в библиотеке C. Функция strcmp() сравнивает две строки посимвольно. Сравнивается первый символ в обеих строках, за которым следуют последующие символы.
Тип возврата:
- Если разница между первым несопоставленным символом и вторым несопоставленным символом > 0 -> Первый символ между ними больше.
- Если разница между первым несопоставленным символом и вторым несопоставленным символом <0 -> Второй символ больше между ними.
- Если разница между первым символом и вторым символом = 0 -> Оба символа равны
Синтаксис:
int strcmp (const char* String1, const char* String2);
Пример:
С
#include <stdio.h>
#include <string.h>
int
main()
{
// code
char
a[] =
"g"
;
char
b[] =
"G"
;
char
c[] =
"g"
;
int
output;
output =
strcmp
(a, b);
printf
(
"The Comparison value between %s and %s is %d\n"
,
a, b, output);
output =
strcmp
(b, c);
printf
(
"The Comparison value between %s and %s is %d\n"
,
b, c, output);
output =
strcmp
(a, c);
printf
(
"The Comparison value between %s and %s is %d\n"
,
a, c, output);
return
0;
}
Выход
The Comparison value between g and G is 32 The Comparison value between G and g is -32 The Comparison value between g and g is 0