Alcune correzioni in rosso
codice:
int main(){
int m;
char risp;
do{
inserparole();
while (getchar() != 10);
printf("Vuoi terminare il programma (y o n)? ");
scanf("%c", &risp);
if(risp=='y')
m = 0;
else //if(risp=='n')
m = 1;
while (getchar() != 10);
}while(m == 1);
}
void inserparole(){
char primaparola[N];
char secondaparola[N];
int i = 0;
int j = 0;
int ris;
printf("Inserire la prima parola: ");
fgets(primaparola, sizeof(primaparola), stdin);
printf("\n");
while(i<strlen(primaparola))
{
if(primaparola[i]=='\n')
primaparola[i]='\0';
i++;
}
printf("Inserire la seconda parola: ");
fgets(secondaparola, sizeof(secondaparola), stdin);
printf("\n");
while(j<strlen(secondaparola))
{
if(secondaparola[j]=='\n')
secondaparola[j]='\0';
j++;
}
ris = risultato_test(primaparola, secondaparola);
if(ris==0)
printf("la seconda parola è l'inverso della prima\n");
else
printf("la seconda parola non è l'inverso della prima\n");
}
int risultato_test(char a[], char b[])
{
int x, ris,m;
m=strlen(b);
char inverso[m];
for(x=0; x<m; x++)
inverso[x]=b[m-1-x];
inverso[m]='\0';
ris = strcmp(a, inverso);
return ris;
}