Cita de: CelDavid en 9 Mayo 2019, 16:48 PMClaro que te funcionaba teniendo comentado cadetres porque strcmp es la funcion de stream compare. Compara los caracteres de ambas cadenas 1 por 1. Si coinciden devuelve 0.
Aaaa excelente explicacion!!!! ahora me funciona, muchas gracias!!!! una ultima duda, el problema era cadenados, pero este codigo me funcionaba igualCódigo (c) [Seleccionar]era por casualidad ya que quedaban cosas en el bufer? algo asi puede ser? porque si mando este codigo antes funciona (siempre que tenga comentado lo de cadenatres):
if(strcmp(cadenauno,cadenados)==0){
printf("Son iguales\n");
}else{
printf("Son distintos\n");
}Código (c) [Seleccionar]printf("cadenados:%s\n", cadenados);
Si devuelve menos que cero significa que el puntero hacia el primer caracter que no coincide contiene un valor menor que el contenido alojada dentro de la memoria apuntada por el puntero de la segunda cadena indicada en la funcion. Los valores comparados son los valorea Ascii (por defecto) de los caracteres comparados. en caso de ambos ser minusculas o ambos ser mayusculas podrias deducir que alfabéticamente la cadena 1 iria ordenada antes que la cadena 2.
En caso de que el valor sea 0 ambos coinciden como es el caso de tu codigo si el usuario del ejecutable introduce "hola".
En caso de que la funcion devuelva un numero mayor que 0 el valor es superior.
Muy útil para ordenar alfabéticamente varias cadenas.
Si quieres que tu programa no sea case-sensitive en C tienes Ctype https://es.m.wikipedia.org/wiki/Ctype.h