Baixe em PDF
Baixe em PDF
Comparar o tamanho de strings é uma função comum na programação da linguagem C, pois ela permite verificar qual delas contém mais caracteres. Tal recurso é muito útil para ordenar dados. Comparar strings requer uma função especial; não use != ou == .
Passos
-
Na linguagem C, existem duas funções que permitem comparar strings . Ambas as funções fazem parte da biblioteca <string.h> .
- strcmp() : Essa função compara duas strings e retorna a diferença no número de caracteres.
- strncmp() : Semelhante à função strcmp() , exceto que esta compara os n primeiros caracteres das strings . Ela é considerada uma função mais segura, pois ajuda a evitar que ocorra overflow .
-
Inicie o programa com as bibliotecas necessárias. Você vai precisar das bibliotecas <stdio.h> e <string.h> , juntamente com todas as outras bibliotecas necessárias para o programa.
#include <stdio.h> #include <string.h>
-
Inicie com a função . int . Esta é a forma mais fácil de aprender a função, já que ela retornará um valor inteiro que compara o tamanho das duas strings .
#include <stdio.h> #include <string.h> int main () { }
-
Defina as duas strings que você deseja comparar. Para este exemplo, iremos comparar duas strings char . Defina também o valor retornado como um inteiro. [1] X Fonte de pesquisa
#include <stdio.h> #include <string.h> int main () { char * str1 = "melancia" ; char * str2 = "laranja" ; int ret ; }
-
Inclua a função escolhida. Agora que você tem as duas strings definidas, adicione a função para compará-las. Neste exemplo, usaremos strncmp() , portanto devemos definir na função o número de caracteres que serão comparados.
#include <stdio.h> #include <string.h> int main () { char * str1 = "melancia" ; char * str2 = "laranja" ; int ret ; ret = strncmp ( str1 , str2 , 6 ); /*Aqui, a função irá comparar os 6 primeiros caracteres */ }
-
Use a estrutura . if...else para fazer a comparação. Depois de incluir a função no seu código, use a estrutura if...else para exibir qual das duas strings é maior. A função strncmp() retornará o valor 0 se as strings tiverem o mesmo comprimento, um número positivo se str1 for maior e um número negativo se str2 for maior.
#include <stdio.h> #include <string.h> int main () { char * str1 = "melancia" ; char * str2 = "laranja" ; int ret ; ret = strncmp ( str1 , str2 , 6 ); if ( ret > 0 ) { printf ( "str1 é maior" ); } else if ( ret < 0 ) { printf ( "str2 é maior" ); } else { printf ( "As duas palavras são iguais" ); } return ( 0 ); }
Publicidade
Avisos
- Lembre-se de que, se as strings forem iguais, o valor retornado será 0 . Isso pode confundir, já que esse valor numérico também representa o valor lógico FALSE.
Publicidade
Sobre este guia wikiHow
Esta página foi acessada 99 160 vezes.
Publicidade