Salve,
ieri all'Università il Prof ci ha fatto fare un esercizio dove dovevamo verificare se una parola inserita dall'utente era palindroma. L'esercizio andava svolto con i puntatori. Nel provarlo a casa però non funziona. Non riesco a capire quale errore ho fatto. L'ho ricontrollato varie volte, riga per riga, e tra l'altro non mi vengono dati errori o warnings, quindi non ho indizi
Il programma mi chiede di digitare la parola, io la scrivo e premo invio. Il programma mi dice la lunghezza della parola, ma poi mi richiede di digitare una parola, quindi mi salta tutto il controllo if-else, e non capisco perchè. Qualcuno sa aiutarmi?

EDIT: ho modificato "if(*(punt_char+i)==*(punt_char+j))" in "if(*punt_char+i==*punt_char+j)" e ora mi fa il controllo, soltanto che dice sempre "La parola non è palindroma" anche se inserisco "anna" o altre parole palindrome.

Il codice è questo:

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

int main(){
    char *punt_char;
    char parola[DIM];
    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){
                    if(*punt_char+i==*punt_char+j){
                        i++;
                        j--;
                    }else{
                        printf("La parola non e' palindroma\n");
                        break;
                    }
                }
            }
        }
    }
}