Colección de citas famosas - Diccionario de frases chinas - Cómo definir la función strcmp

Cómo definir 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 estas dos cadenas carácter por carácter (según el valor del código ASCII) de izquierda a derecha hasta que aparezcan caracteres diferentes o se encuentre '\0'. 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 simple: en el diccionario de inglés, la última es "grande". Presta especial atención: las letras minúsculas son "más grandes" que las mayúsculas.

Valor de retorno:

(1) Cadena 1 = Cadena 2, devuelve 0.

(2)Cadena 1>;Cadena 2, devuelve un entero positivo

(3)Cadena 1

Datos extendidos:

Reglas

Cuando s1

Cuando s1==s2, devuelve un valor = 0;

Cuando s 1 > S2, devuelve un número 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 se encuentra ' \0 '. Por ejemplo:

" A " lt" B" "a " >A "computer" gt "Compare"

Nota especial: strcmp (constchar * s1, constchar * S2) solamente Se pueden comparar cadenas, es decir, se pueden comparar dos constantes de cadena, también se pueden comparar matrices y constantes de cadena, pero no se pueden comparar otros parámetros como números.

El estándar ANSI estipula que el valor de retorno es positivo, negativo o 0. El valor exacto depende de diferentes c.

Valor de retorno

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

Valor de retorno lt0 El valor del primer carácter no coincidente en inptr 1 Menor que inptr2

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

Valor de retorno gt0 El valor del primer carácter no coincidente en ptr 1 es mayor que el valor en ptr2

Cuando dos cadenas no son iguales, el estándar C no especifica si el valor de retorno será 1 o -1, sino solo un número positivo y un número negativo. Algunas implementaciones devolverán 1 o -1, pero aquellos que comparan el valor de retorno con 1 o -1 son programadores no calificados.

Algunos 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 esta base no puede utilizarse como lógica de proceso en el programa.

Materiales de referencia:

Enciclopedia Baidu-strcmp