Contente
A comparação de comprimento de string é uma função comumente usada na linguagem de programação C, porque permite descobrir qual string contém mais caracteres. Isso é muito útil para classificar dados. A comparação de strings requer uma função especial; então não use: != ou ==.
Dar um passo
- Existem duas funções que permitem comparar strings em C. Ambos estão incluídos no string.h>biblioteca de código.
- strcmp () - Esta função compara duas strings e retorna a diferença no número de caracteres.
- strncmp () - Isso também se aplica a strcmp (), exceto que este é o primeiro n compara personagens. É considerado mais seguro, pois ajuda a evitar travamentos de estouro.
- Execute o programa com as bibliotecas necessárias. Você tem as duas bibliotecas stdio.h> e string.h> necessário, junto com outras bibliotecas que você pode precisar para o seu programa.
#include stdio.h> [[Image: Compare duas strings na etapa 1 da programação C, versão 4.webp | center]] #include string.h>
- Comece um.intfunção. Esta é a maneira mais fácil de aprender essa função, pois ela retorna um inteiro comparando o comprimento das duas strings.
[[Image: Compare Two Strings in C Programming Step 2 Version 4.webp | center]] #include stdio.h> [[Image: Compare Two Strings in C Programming Step 3 Version 3.webp | center]] #include string. h> int main () {}
- Decida quais duas strings você deseja comparar. Neste exemplo, comparamos dois dados Caracteres cordas. Você também deve determinar o valor de retorno como um número inteiro.
[[Image: Compare Two Strings in C Programming Step 4 Version 4.webp | center]] #include stdio.h> [[Image: Compare Two Strings in C Programming Step 5 Version 4.webp | center]] #include string. h> int main () {char * str1 = "maçã"; char * str2 = "laranja"; int ret;}
- Adicione a função de comparação. Agora que você definiu duas strings, pode adicionar a função de comparação. Nós vamos strncmp () portanto, precisamos ter certeza de que o número de caracteres a serem medidos está definido na função.
[[Image: Compare Two Strings in C Programming Step 6 Version 4.webp | center]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "laranja"; int ret; ret = strncmp (str1, str2, 11); / * Compara as duas strings com até 11 caracteres * /}
- Usar.If ... Elsepara realizar a comparação. Agora que criamos a função, use If ... Else para determinar qual string é mais longa. strncmp () dá 0 como resultado, se as strings tiverem o mesmo comprimento, um número positivo se str1 for mais longo e um número negativo se str2 for mais longo.
#include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "laranja"; int ret; ret = strncmp (str1, str2, 11); if (ret> 0) {printf ("str1 é mais longo"); } else if (ret 0) {printf ("str2 é mais longo"); } else {printf ("As duas strings são iguais"); } return (0); }
Avisos
- Lembre-se de que o valor de retorno é 0 se as strings forem iguais. Isso pode ser confuso porque 0 também é o valor de FALSE.