strcmp

Sintaxis

#include <string.h>

int strcmp(const char *s1, const char *s2);

Descripción

Compara s1 y s2 según el orden de la codificación de caracteres.

Valor devuelto

Si s1 > s2 devuelve un valor positivo, si s1 == s2 devuelve 0, si s1 < s2 devuelve un valor negativo.

Portabilidad

ANSI, POSIX

Ejemplo

En la función main se leen dos ristras, se comparan y se muestra el resultado de la comparación.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void quitaLF(char *s){
   int l=strlen(s);
   if(l > 0 && s[l-1]=='\n') s[l-1]='\0';
}
int main (){
   const int MAX=1024; 
   char r1[MAX], r2[MAX];
   printf("Introduzca la primera ristra\n"); 
   fgets(r1,MAX,stdin);
   quitaLF(r1);
   printf("Introduzca la segunda ristra\n"); 
   fgets(r2,MAX,stdin);
   quitaLF(r2);
   int cr=strcmp(r1,r2);
   if (cr==0)
      printf("Las dos ristras son iguales a \"%s\"\n",r1);
   else if(cr>0) 
      printf("Las ristra \"%s\" es mayor que \"%s\"\n",r1,r2);
   else
      printf("Las ristra \"%s\" es menor que \"%s\"\n",r1,r2);   
   return 0;
}