Comparar Char em C

Satishkumar Bharadwaj 12 outubro 2023
  1. Comparação de caracteres em C Utilizando os Operadores de Comparação
  2. Comparação de caracteres em C Utilizando strcmp() Função em C
Comparar Char em C

Este tutorial introduz como comparar char em C. Uma variável char é um valor integral de 8 bits, de 0 a 255. Aqui, 0 representa o carácter C-nulo, e 255 representa um símbolo vazio.

Comparação de caracteres em C Utilizando os Operadores de Comparação

Uma variável de caracteres tem o seu próprio valor ASCII. Assim, os caracteres são comparados de acordo com os valores ASCII. O programa completo é o que se segue:

#include <stdio.h>
int main(void) {
  char firstCharValue = 'm';
  char secondCharValue = 'n';

  if (firstCharValue < secondCharValue)
    printf("%c is smaller than %c.", firstCharValue, secondCharValue);

  if (firstCharValue > secondCharValue)
    printf("%c is greater than %c.", firstCharValue, secondCharValue);

  if (firstCharValue == secondCharValue)
    printf("%c is equal to %c.", firstCharValue, secondCharValue);

  return 0;
}

Resultado:

m is smaller than n.

Comparação de caracteres em C Utilizando strcmp() Função em C

A função strcmp() é definida no ficheiro de cabeçalho string e utilizada para comparar duas strings por caracteres.

Se os primeiros caracteres das duas strings forem iguais, o próximo caractere das duas strings será comparado. Continua até que os caracteres correspondentes de ambas as strings sejam diferentes ou seja alcançado um carácter nulo '\0'.

A sintaxe da função strcmp() é a que se segue.

int strcmp(const char* firstStringValue, const char* secondStringValue);
  • Se duas strings forem iguais ou idênticas, retorna 0.
  • Se o valor ASCII do primeiro carácter inigualável for maior que o segundo, retorna um valor inteiro positivo
  • Se o valor ASCII do primeiro carácter inigualável for inferior ao do segundo, devolve um valor inteiro negativo.

O programa completo para comparar duas strings é o que se segue:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) {
  char firstString = "b", secondString = "b", thirdString = "B";
  int result;

  result = strcmp(&firstString, &secondString);
  printf("strcmp(firstString, secondString) = %d\n", result);

  result = strcmp(&firstString, &thirdString);
  printf("strcmp(firstString,thirdString) = %d\n", result);

  return 0;
}

Resultado:

strcmp(firstString, secondString) = 0 strcmp(firstString, thirdString) = 1

Artigo relacionado - C Char