Originariamente inviato da goatboy
Le avevo già messe, ma il programma mi dava la lunghezza della parola e poi mi richiedeva di inserirne un'altra, senza dirmi se era o no palindroma.
Questo perchè se ci guardi bene, se la stringa è palindroma non stampa niente: non hai previsto alcuna stampa.Stampi solo "non è palindroma" se non lo è.

codice:
#include <stdio.h>
#include <stdbool.h>
#define DIM 100

int main(){
    char *punt_char;
    char parola[DIM];
    bool palindroma=true;
    char c;
    int lung, flag=0, i, j;
    while(!flag){
        punt_char=parola;
        lung=0;
        printf("Digita la parola: ");
        while(((c=getchar())!=' ' && c!='\n')){
            *(punt_char+lung)=c;
            lung++;
        }
        *(punt_char+lung)='\0';
        printf("La parola ha lunghezza %d caratteri\n", lung);
        if(lung==0){
            flag=1;
            printf("Fine Programma\n");
        }else{
            if(lung==1){
                printf("Carattere Isolato\n");
            }else{
                i=0;
                j=lung-1;
                while(i<j)
                {
                    palindroma=true;
                    if(*(punt_char+i)==*(punt_char+j)){
                        i++;
                        j--;
                    }else{
                        printf("La parola non e' palindroma\n");
                        palindroma=false;
                        break;
                    }
                }
                if(palindroma)
                    printf("La stringa è palindroma\n");
            }
        }
    }
}