Сравнение символов в C

Как передать массив функции в C++ Программирование и разработка

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() сравнивает две строки посимвольно. Сравнивается первый символ в обеих строках, за которым следуют последующие символы.

Читайте также:  MEAN или LAMP и не только: какой технический стек использовать

Тип возврата:

  • Если разница между первым несопоставленным символом и вторым несопоставленным символом > 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

Оцените статью
bestprogrammer.ru
Добавить комментарий