Allora, ho comparato le due stringhe come dicevi tue in effetti entra nel ciclo if.
Il problema è che mi si perde la stringa s.
Se metto questo codice:
codice:
main()
{
typedef char string;
string s[100];
string scelta[2];
string si[]="si";
int i, len=0;
printf("Inserisci una parola: ");
scanf("%s",s); // memorizzo parola da input
len=strlen(s); // eseguo conteggio caratteri
printf("Hai inserito: %s \n",s);
/*printf("Vuoi effettuare il conteggio caratteri?");
scanf("%s",&scelta);
if(strcmp(si,scelta)==0)
{*/
printf("La parola '%s' contiene %d caratteri:\n",s,len);
for(i=0; i<len; i++)
printf(" s[%d] = %c\n",i,s[i]);
/*}
else
printf("Arrivederci\n");*/
system("pause");
}
Mi stampa questo:
Inserisci una parola: pippo
Hai inserito: pippo
La parola 'pippo' contiene 5 caratteri:
s[0] = p
s[1] = i
s[2] = p
s[3] = p
s[4] = o
Premere un tasto per continuare . . .
Se però metto il codice:
codice:
main()
{
typedef char string;
string s[100];
string scelta[2];
string si[]="si";
int i, len=0;
printf("Inserisci una parola: ");
scanf("%s",s); // memorizzo parola da input
len=strlen(s); // eseguo conteggio caratteri
printf("Hai inserito: %s \n",s);
printf("Vuoi effettuare il conteggio caratteri?");
scanf("%s",&scelta);
if(strcmp(si,scelta)==0)
{
printf("La parola '%s' contiene %d caratteri:\n",s,len);
for(i=0; i<len; i++)
printf(" s[%d] = %c\n",i,s[i]);
}
else
printf("Arrivederci\n");
system("pause");
}
Ecco che mi si perde la parola che inserisco, quando la richiamo per la seconda volta: come mai?
Inserisci una parola: pippo
Hai inserito: pippo
Vuoi effettuare il conteggio caratteri?si
La parola '' contiene 5 caratteri:
s[0] =
s[1] = i
s[2] = p
s[3] = p
s[4] = o
Premere un tasto per continuare . . .
Grazie per l'aiuto.