Comparação de personagens na programação C

Comparação de personagens na programação C

Comparação de personagens na linguagem de programação C é uma parte fundamental de qualquer programa. Como em qualquer linguagem de programação, existem diferenças entre como C Handles comparação de personagens na superfície e como isso se faz mal a sua lógica de programa. Este é o que os sites de métodos exatos usam para verificar suas senhas para consistência quando você ingressar, o trabalho de software de detecção de plágio e assim por diante.

Para verificar se duas strings são iguais, podemos compará-las com caráter por personagem ou usar uma função interna. Vamos discutir os dois métodos para comparação de personagens.

Método 1: Usando operadores de comparação

Quando se trata de comparação de personagens Em C, a operação mais comum é comparar duas cordas com o mesmo comprimento, muitas vezes referido como “Lexicograficamente” comparando. Este método analisa os personagens das cordas individualmente e começa a comparar a primeira letra em cada string. A partir daí, os segundos caracteres são comparados (se forem iguais, os terceiros caracteres são comparados e assim por diante). Se a posição de qualquer um de dois caracteres não for a mesma, então a comparação para, com o personagem na posição inferior (i.e. o personagem com um código ASCII mais baixo) considerado o personagem "menor". Vamos seguir este método com o exemplo mostrado abaixo:

#incluir
Void Compare (char x, char y)

se (x == y)
printf ("Ambos os caracteres são iguais \ n %c e %c \ n", x, y);
outro
printf (" %c e %c não são iguais \ n", x, y);

int main ()

char a = 'h';
char b = 'h';
char c = 'h';
Compare (a, c);
Compare (b, a);
Compare (C, B);
retornar 0;

O código acima usa o método definido pelo usuário comparar() Para comparar dois caracteres para ver se eles são iguais. Ao ler valores de dois caracteres do usuário e compará-los, este programa será lançado “Os personagens são iguais” Se os personagens são iguais e “Os personagens não são iguais” de outra forma.

Saída

Método 2: Usando funções internas

Indo além dessa comparação básica, C também contém muitas ferramentas adicionais para lidar com comparação de personagens. Por exemplo, a biblioteca funciona strcmp () e strncmp () fornecer maior controle sobre a comparação, enquanto operadores lógicos como ||, && e ! Adicione mais recursos. Esses métodos e ferramentas avançados podem ser extremamente úteis para garantir que a lógica da comparação seja mais flexível e abrangente em programas C.

I: função strcmp ()

O strcmp () A função incluída no arquivo de cabeçalho da string da biblioteca C também é usada para comparar os caracteres. Duas cordas são caracteres por caracteres comparadas usando o strcmp () método. O primeiro caractere de cada string em cada um é comparado primeiro, depois os próximos caracteres.

#incluir
#incluir
int main ()

Char S1 [10];
Char S2 [10];
int valor;
printf ("Digite uma string:");
scanf ("%s", s1);
printf ("Digite a segunda sequência:");
scanf ("%s", s2);
valor = strcmp (s1, s2);
if (valor == 0)
printf ("Ambas as cordas são as mesmas");
outro
printf ("Strings não são iguais");
retornar 0;

Os personagens S1 e S2 são especificados neste código. Os usuários são solicitados a inserir os personagens. Depois que os personagens foram inseridos, o strcmp () A função os compara e a saída é produzida com base no resultado.

Saída

II: função strncmp ()

O strncmp () Função é uma função de string usada para comparar duas seqüências de strings em c. Também determina se as duas cordas são iguais. O terceiro parâmetro é usado pelo strncmp () função para restringir a comparação. Isso implica que você pode comparar os quatro primeiros caracteres, ou os cinco primeiros caracteres, etc. em vez de toda a corda.

A comparação entre as cordas é feita com base em ASCII valores dos caracteres.

Este método retorna os seguintes valores:

  • Valor de retorno menor que 0 indica que STR1 é menos do que STR2.
  • Valor de retorno> 0 indica que STR2 É menor que STR1 se for.
  • Se o valor de retorno for 0, significa que STR1 e STR2 são equivalentes.
#incluir
#incluir
int main ()
CHAR STR1 [10];
CHAR STR2 [10];
Int resultado;
strcpy (str1, "vjjdvfvd");
strCpy (STR2, "SCJHSCJS");
resultado = strncmp (str1, str2, 6);
if (resultado 0)
printf ("str2 é menor que str1");
outro
printf ("str1 é igual a str2");

retornar (0);

Este código declara os caracteres S1 e S2. Depois disso, os usuários devem digitar os personagens. Seguindo a entrada dos caracteres, a função strncmp () os compara usando o número de caracteres escolhidos para comparação, e a saída é gerada com base no resultado.

Saída

Conclusão

O comparação de personagens Na linguagem de programação C é um processo intrincado e multifacetado, com diferentes métodos e ferramentas sendo necessários, dependendo do tipo de comparação sendo feita. Compreender exatamente como cada parte do processo funciona e o que as ferramentas mais apropriadas devem usar, é essencial para a programação bem -sucedida de C. Dois métodos são definidos neste artigo para Compare caracteres: Método de comparação e funções embutidas.