A função strcmp () compara duas strings e retorna 0 se ambas as strings forem idênticas.
Protótipo C strcmp ()
int strcmp (const char * str1, const char * strcmp);
A strcmp()
função recebe duas strings e retorna um inteiro.
O strcmp()
compara duas strings caractere por caractere.
Se o primeiro caractere de duas strings for igual, o próximo caractere de duas strings será comparado. Isso continua até que os caracteres correspondentes de duas strings sejam diferentes ou um caractere nulo ' '
seja alcançado.
É definido no string.h
arquivo de cabeçalho.
Valor de retorno de strcmp ()
Valor de retorno | Observações |
---|---|
0 | se ambas as strings forem idênticas (iguais) |
negativo | se o valor ASCII do primeiro caractere sem correspondência for menor que o segundo. |
inteiro positivo | se o valor ASCII do primeiro caractere sem correspondência for maior que o segundo. |
Exemplo: função C strcmp ()
#include #include int main() ( char str1() = "abcd", str2() = "abCd", str3() = "abcd"; int result; // comparing strings str1 and str2 result = strcmp(str1, str2); printf("strcmp(str1, str2) = %d", result); // comparing strings str1 and str3 result = strcmp(str1, str3); printf("strcmp(str1, str3) = %d", result); return 0; )
Resultado
strcmp (str1, str2) = 32 strcmp (str1, str3) = 0
O primeiro caractere sem correspondência entre as strings str1 e str2 é o terceiro caractere. O valor ASCII de 'c' é 99 e o valor ASCII de 'C' é 67. Portanto, quando as strings str1 e str2 são comparadas, o valor de retorno é 32.
Quando as strings str1 e str3 são comparadas, o resultado é 0 porque ambas as strings são idênticas.