Este programa me está volviendo loco!
Bueno, con la nueva solucion todo parecia ir perfectamente....le implante tambien lo de ver si era palindromo, pero ahora me da un error que parece casi una burla:
En las ultimas lineas del programa que posteo a continuacion, aparece esta linea:
printf("%s Prueba\n",sucia);
Si se deja como está, el programa parece salir bien y se imprime la frase "Es un palindromo"
Sin embargo, si se elimina este printf, sale la frase "No es un palindromo"
Supuestamente printf no afecta a la ejecución del programa, no?
[Compilado con Xcode 3.0]
Este es el estado actual del programa:
Código:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
char *quitar_blancos(char *cad1);
int main()
{
int i,j,cont;
char *cad1="AvEeVa";
cad1=quitar_blancos(cad1);
for (j=0;cad1[j]!='\0';j++)
{
cad1[j] = toupper(cad1[j]);
}
if (j%2==0)
{
cont=j/2;
}
else
{
cont=j/2+1;
}
i=0;
while (i<cont && cad1[i]==cad1[(j-1)-i])
{
i++;
}
if (cad1[i]==cad1[(j-i)-1])
{
printf("Es palindromo\n");
}
else
{
printf("No es palindromo\n");
}
return 0;
}
// FUNCION
char *quitar_blancos(char *cad1)
{
char *sucia; //nueva cadena para almacenar la frase sin espacios
int i=0,j=0;
while (cad1[i]!='\0')
{
if (cad1[i]!=' ')
{
sucia[j]=cad1[i];
j++;
}
i++;
}
sucia[j]='\0';
printf("%s\n",sucia);
// Si se quita el printf, sale la opcion final de que no es palindromo. Con el printf, sale que es palindromo.
return sucia;
}