Como comparar duas cordas em c programação
Compare o tamanho de uma string é uma característica muito comum em programação em C, porque permite que você ver o que cadeia contém mais caracteres. Isto é muito útil quando organizar a informação. Comparar cadeias requer uma determinada função não usa !=
Conteúdo
passos
1
Existem duas funções que lhe permitem comparar duas strings em C. Ambas as funções estão incluídos na biblioteca.
- strcmp (): Esta função compara duas cadeias e devolve a diferença comparativo do número de caracteres.
- strncmp (): Esta é a mesma strcmp (), exceto que compara o primeiro caractere n. Ele é considerado mais seguro porque evita que um erro devido a estouro aparece.
2
Abra o programa com as bibliotecas necessárias. Bibliotecas e necessidade, bem como quaisquer outras informações necessárias para o seu programa específico.
#include]#include
3
uma função começa .int. Esta é a maneira mais fácil de aprender esta função, uma vez que o valor de retorno é uma integral comparando o comprimento de ambas as cadeias.
]#include]#include int principal (){}
4
Define as duas cadeias que deseja comparar. Para este exemplo, duas cadeias são comparados carbonizar predefinido. Você também deseja definir o valor de retorno como um todo.
]#include]#include int principal (){carbonizar *str1 = "maçã"-carbonizar *str2 = "laranja"-int ret-}
5
Adicionar a função de comparação. Agora que você definiu ambas as cadeias, você pode adicionar uma função de comparação. Você vai usar strncmp (), então você precisa se certificar de conjunto o número de caracteres que você vai medir na função.
]#include #include int principal (){carbonizar *str1 = "maçã"-carbonizar *str2 = "laranja"-int ret-ret = strncmp(str1, str2, 6)-/ * Isto irá comparar os dois cadenashasta 6 caracteres * /}
6
Use a instrução .Se ... Else para comparação. Agora que você tem a função em vez disso, use a instrução Se ... Else para mostrar o que cadeia é mais longo. strncmp () mostra 0 se as cordas são do mesmo comprimento, um número positivo se a string "str1" é mais longo e um número negativo se a cadeia "str2" é mais longo.
#include #include int principal (){carbonizar *str1 = "maçã"-carbonizar *str2 = "laranja"-int ret-ret = strncmp(str1, str2, 6)-se(ret gt; 0){printf("seq1 é mais")-}mais se(ret lt; 0){printf("seq2 é mais")-}mais{printf("As cordas são iguais")-}retorno(0)-}
avisos
- Lembre-se que o valor de retorno é 0 se as strings são iguais. Isso pode ser confuso porque 0 é também o valor de FALSE.