Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo funciona la función strcmp()?

¿Cómo funciona la función strcmp()?

Función de comparación de cadenas, la forma general es strcmp (cadena 1, cadena 2).

Reglas de comparación:

Compare las dos cadenas carácter por carácter de izquierda a derecha (compare según el tamaño del valor del código ASCII) hasta que aparezcan caracteres diferentes o se encuentre '\0 'hasta. Si todos los caracteres son iguales, se considerarán iguales; si aparecen caracteres diferentes, prevalecerá el resultado de la comparación del primer carácter diferente.

Si ambas cadenas están compuestas por letras inglesas, hay una regla sencilla: la que está en la posición más baja en el diccionario de inglés es "grande", y se debe prestar especial atención a: las letras minúsculas son mejores que las letras mayúsculas." grande".

Valor de retorno:

(1) cadena1=cadena2, devuelve 0

(2) cadena1gt; (3) cadena1lt; cadena2, devuelve un número entero negativo.

Extensión:

Reglas

Cuando s1lt;s2, el valor de retorno es un valor negativo;

Cuando s1==s2, Valor de retorno = 0;

Cuando s1gt;s2, el valor de retorno es positivo.

Es decir, las dos cadenas se comparan carácter por carácter de izquierda a derecha (según el tamaño del valor ASCII) hasta que aparecen caracteres diferentes o coincide "0". Por ejemplo:

"A"lt; "B""a"gt; "A""computer"gt; "compare"

Instrucciones especiales: strcmp(const char *s1 , const char * s2) solo puede comparar cadenas y puede usarse para comparar dos constantes de cadena o para comparar matrices y constantes de cadena.

El estándar ANSI estipula que el valor de retorno es positivo, negativo o 0. El valor específico depende de las diferentes implementaciones del lenguaje C.

Valor de retorno

Devuelve un valor integral, que indica la relación entre cadenas:

Valor de retorno lt 0 El primer carácter no coincidente está en inptr1 El valor de es menor que inptr2

valor de retorno=0 El contenido de las dos cadenas es igual

Valor de retorno gt 0 El valor del primer carácter no coincidente en inptr1 es mayor que inptr2

Cuando dos cadenas no son iguales, el estándar C no especifica que el valor de retorno sea 1 o -1, solo valores positivos y negativos. Algunas implementaciones devolverán 1 o -1, pero cualquiera que compare el valor devuelto con 1 o -1 es un mal programador.

Algunas implementaciones devolverán la diferencia entre los códigos ASCII de los dos caracteres como resultado de la comparación del valor de la función. Pero en cualquier caso, esto no debe usarse como base para la lógica del flujo del programa.

Referencias:. Enciclopedia Baidu - Enciclopedia.