Nombre: comparacion de cadenas con punteros
Descripción:
Realizar un programa que compare dos cadenas de caracteres. Utilizar una función Comparar las cadenas de caracteres s y t y devuelva un valor negativo, cero o positivo si s es lexicográficamente menor que, igual a, o mayor que t
URL: http://www.mygnet.net/codigos/cplusplus/punteros/comparacion_de_cadenas_con_punteros.1651
Código Fuente:
#include <stdio.h>
#include <alloc.h>
#include <stdlib.h>
int comparar (char*,char*);
void main ()
{
int c;
char *cadena1,*cadena2;
cadena1=(char*)malloc(20*sizeof(char));
cadena2=(char*)malloc(20*sizeof(char));
if (cadena1==NULL || cadena2==NULL)
{
printf ("nNo hay suficiente memoria");
exit (-1);
}
printf ("Introduce la cadena 1: ");
gets (cadena1);
printf ("Introduce la cadena 2: ");
gets (cadena2);
c=comparar (cadena1,cadena2);
if (c==0)
printf ("nLas cadenas son iguales");
if (c<0)
printf ("nLa cadena 1 es menor que la cadena 2");
if (c>0)
printf ("nLa cadena 1 es mayor que la cadena 2");
}
int comparar (char *cadena1,char *cadena2)
{
int i,c=0;
for (i=0;*(cadena1+i)!=' ' || *(cadena2+i)!=' ';i++)
{
if (*(cadena1+i)>*(cadena2+i))
{
c=1;
break;
}
if (*(cadena1+i)<*(cadena2+i))
{
c=-1;
break;
}
}
return c;
}