muy buenas, estaba haciendo una funcion en C que me compara 2 cadenas entradas desde teclado.
el problema es que me dice siempre que son iguales
codigo:
Código C:
Ver original#include<stdio.h>
#define MAX 20
int comparaCad(char cad1[MAX],char cad2[MAX]);
int main(){
char cad1[MAX],cad2[MAX];
int result;
printf("introduzca 1 cadena:\n"); printf("introduzca 1 cadena:\n");
result = comparaCad(cad1,cad2);
if(result==0)
else{
if(result<0)
printf("cad1 es menor que cad2\n"); else
printf("cad1 es mayor que cad2\n"); }
return 0;
}
int comparaCad(char cad1[MAX],char cad2[MAX]){
int i,comp,j;
char c1,c2;
for(i=0,j=0; cad1[j]==cad2[i] && i<MAX && cad1[j]!='\0' && cad2[i]!='\0';++i,++j){
c1 = cad1[j];
c2 = cad2[i];
}
if(c1 == '\0' && c1!=c2)
comp=-1;
else{
if(c2=='\0' && c2!=c1)
comp=1;
else{
if(c1 == c2)
comp=0;
else{
if(c1 < c2)
comp=-1;
else
comp=1;
}
}
}
return comp;
}