Você está aqui: C ::: Dicas & Truques ::: Strings e Caracteres |
Como escrever sua própria implementação da função strcmp(), usada para comparar strings em CQuantidade de visualizações: 14400 vezes |
Esta dica mostra como é possível escrever sua própria implementação da função strcmp(), usada para comparar strings em C. Aqui nós demos à nossa função personalizada o nome de str_compare(). O objetivo é deixá-lo confortável para efetuar as modificações necessárias e adicionar mais uma valiosa função à sua coleção de códigos reutilizáveis. Eis o código completo:----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// função que simula o funcionamento da
// função strcmp(), usada para comparar duas
// strings em C
int str_compare(const char *str1, const char *str2){
// avança nas duas strings enquanto seus caracteres
// forem iguais e a primeira string ainda possuir
// caracteres
while((*str1 == *str2) && (*str1)){
str1++;
str2++;
}
// fim da primeira string ou encontramos caracteres
// diferentes. Hora de testar
if((*str1 == *str2) && (!*str1))
return 0; // strings iguais
else if((*str1) && (!*str2))
return -1; // a primeira string é maior
else if((*str2) && (!*str1))
return 1; // a segunda string é maior
}
int main(int argc, char *argv[]){
char palavra1[] = "Java";
char palavra2[] = "Java";
if(str_compare(palavra1, palavra2) == 0)
printf("As palavras sao iguais");
else if(str_compare(palavra1, palavra2) < 0)
printf("A primeira string e maior que a segunda");
else if(str_compare(palavra1, palavra2) > 0)
printf("A segunda string e maior que a primeira");
puts("\n\n");
system("PAUSE");
return 0;
}
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







