ale99 ha scritto:
parola[i]==parola[j];
non ha significato
Si avevo dimenticato di toglierlo, era la condizione di un IF che ho cancellato....
Più che altro forse dovrei anche ritornare solo "x", ma non va neanche così.
EDIT:
ho aggiornato il codice e mi sembra di averlo migliorato, ma non va ancora!!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int check(char str[], int i, int j);
main()
{
char parola[100]={0};
int dimensione;
int i=0;
int x;
printf("Digita una frase da controllare (usa uno '_' per separare le parole):\n\n");
scanf("%s", &parola);
dimensione=strlen(parola);
x=check(parola,i,dimensione-1); // dimensione-1 poiché nel vettore i numero vanno da 0 a n-1
if(x==1)
printf("\n\nLa frase e' palindroma\n");
else
printf("\n\nLa frase non e' palindroma\n");
}
int check(char parola[], int i, int j)
{
int x;
if(i<j)
{
if(parola[i]==parola[j])
return 1;
}
else
{
x=check(parola,i+1,j-1);
return x;
}
}