Originariamente inviato da ciro78
forse mi sono espresso male
io devo cercare un testo in un array e volevo fare il confronto tra i campi dell'array(che richiamvo mediante il ciclo for)
e una parola da me inserita.in base a questa fare un ciclo if per scriver determinate cose in base a se la parola è stata trovata o meno
ti posto il mio codice forse capisci meglio
codice:
/* array di stringhe */
char *array[10];
array[1]="ssss";
array[2]="dddd";
array[3]="ffff";
array[4]="ggggg";
array[5]="rrrrr";
array[7]="rrrrr";
char *parola;
printf("inserisci una parola da cercare:");
char parola1;
scanf("%c", parola) ;
int val;
int compare;
val=0;
for(val=0;val<10;val++)
{
strcmp(parola,array[val]);
if (compare)
printf("La posizione cercata è %d ", val);
else
printf("Non trovato nell'array");
}
Proviamo così:
codice:
/* array di stringhe */
char *array[10];
array[1]="ssss";
array[2]="dddd";
array[3]="ffff";
array[4]="ggggg";
array[5]="rrrrr";
array[7]="rrrrr";
char *parola;
printf("inserisci una parola da cercare:");
char parola1;
scanf("%c", parola) ;
int val;
int compare;
val=1;
for(val=1;val<10;val++)
{
if (!strcmp(parola,array[val]))
printf("La posizione cercata è %d ", val);
}
printf("Non l'ho trovato\n");
...
// fuori dalla procedura precedente
int strcmp(char *s, char *t) {
while(*s== *t && *s) {
s++;
t++;
}
return *s - *t;
}
Comunque ricordati che se inizializzi l'array partendo dalla posizione 1 anche la ricerca la fai partendo dalla posizione 1, altrimenti potresti avere dei problemi.
Ciao.