|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Nov 2010
Messaggi: 211
|
[C] Confronto tra caratteri di un array bidimensionale e monodimensionale
Ciao
Ho bisogno di fare un confronto tra due caratteri contenuti uno in un array bidimensionale passato come argomento ad una funzione e l'altro in un array monodimensionale vi faccio un esempio del codice Codice:
int funzione(char*);
main(){
char parola[a][b]={};
funzione(parola[2]);/*credo che, siccome ho passato un elemento dell'array e non tutto intero
l'array con cui lavoro dentro la funzione sia solo ciò che è contenuto in questo elemento
quindi dentro la funzione lavoro con un array MONODIMENSIONALE e non BIDIMENSIONALE come quello iniziale
su questo non sono molto sicuro, quindi se qualcuno riuscisse a spiegarmi questa cosa...
}
funzione(char *parola){
int i, v;
char vocale[5]={'a','e','i','o','u'};
for(i=0; i<strlen(parola); ++i){
for(v=0; v<5; ++v){
if(parola[i]==vocali[v]) /* È vocale */
else /* È consonante */
}
}
inserendo qualsiasi parola il programma si crasha. Il debug da questo errore: "Il programma ha causato una violazione di accesso (errore di segmentazione)." e seleziona di blu la riga if(parola[i]==vocali[v]) /* È vocale */ Sto usando Dev C++ 4.9.9.2 |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: May 2011
Messaggi: 39
|
hai chiamato l'array vocale, e in seguito (nella riga con l'errore) vocali
|
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Nov 2010
Messaggi: 211
|
Quote:
comunque avevo specificato che si compila senza dare alcun errore ma si crasha in fase di esecuzione del file compilato EDIT: Scusate, ho trovate l'errore: nel secondo ciclo avevo incrementato il PRIMO indice invece del SECONDO, quindi automaticamente si accedeva ad un elemento dell'array inesistente Ultima modifica di biowep : 12-06-2011 alle 10:34. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:05.




















