Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - segmentation fault
Forum - C/C++ - segmentation fault

Avatar
dodoeg (Normal User)
Newbie


Messaggi: 4
Iscritto: 14/06/2006

Segnala al moderatore
Postato alle 21:40
Mercoledì, 14/06/2006
Ciao a tutti! sono nuovo, e vorrei chiedervi un aiutino: perchè questa riga  

char stringa[10];
...
stringa[h]=stringa[h+1]

mi causa un segmentation fault?
I limiti dell'array sono rispettati...

Ultima modifica effettuata da Zizzius il 15/06/2006 alle 0:49
PM Quote
Avatar
Zani88 (Member)
Pro


Messaggi: 136
Iscritto: 07/05/2006

Segnala al moderatore
Postato alle 7:33
Giovedì, 15/06/2006
Sicuro di aver rispettato i limiti??
In questo caso h può valere al massimo 8 perchè poi h+1 vale 9 che è il limite massimo di quell'array...
In ogni caso sei sicuro che sia quella l'istruzione che dà segmentation fault?
Prova a controllare se in qualche scanf precedente hai messo la & sullla variabile da leggere...


"Una delle principali cause della caduta dell'Impero Romano fu che, privi dello zero, non avevano un modo per indicare la corretta terminazione dei loro programmi C." (Robert Firth)
PM Quote
Avatar
dodoeg (Normal User)
Newbie


Messaggi: 4
Iscritto: 14/06/2006

Segnala al moderatore
Postato alle 10:41
Giovedì, 15/06/2006
grazie per la risposta, ma il problema non è quello...

sono sicuro che la riga è quella, perchè commentandola non ci sono più problemi...

mi sono accorto, però, che mi da un segmentation fault ogni volta che tento di scrivere su quella stringa in quella funzione, anche dando una costante come indice...

PM Quote
Avatar
Zani88 (Member)
Pro


Messaggi: 136
Iscritto: 07/05/2006

Segnala al moderatore
Postato alle 12:26
Giovedì, 15/06/2006
Non puoi postare qualche riga di codice in più?


"Una delle principali cause della caduta dell'Impero Romano fu che, privi dello zero, non avevano un modo per indicare la corretta terminazione dei loro programmi C." (Robert Firth)
PM Quote
Avatar
cH!cus (Ex-Member)
Pro


Messaggi: 149
Iscritto: 03/04/2006

Segnala al moderatore
Postato alle 15:57
Venerdì, 16/06/2006
già, posta un po il prog che li diamo una guardata.


chicus, http://thechicus.altervista.org

Ci sono solo 10 tipi di persone al mondo, quelle che comprendono il codice binario e quelle che non lo comprendono. (autore: boh)
PM Quote
Avatar
dodoeg (Normal User)
Newbie


Messaggi: 4
Iscritto: 14/06/2006

Segnala al moderatore
Postato alle 18:52
Venerdì, 16/06/2006
vi ringrazio per l'aiuto...
il problema di prima l'ho risolto (il era che tentavo di scrivere su una stringa che era l'input della funzione stessa... non sapevo che non si potesse fare da principiante che sono in C...)

Adesso però lo stesso errore salta fuori quando tento di eseguire la funzione srand() con qualsiasi parametro! :d

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6110
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 23:30
Venerdì, 16/06/2006
Se non ci posti il codice completo (o almeno l'intero file dove risiede il codice incriminato) è difficile trarre conclusioni.


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
dodoeg (Normal User)
Newbie


Messaggi: 4
Iscritto: 14/06/2006

Segnala al moderatore
Postato alle 14:42
Sabato, 17/06/2006
avete ragione... in questo momento non mi è possibile postare il codice, ma se servirà lo farò...
però ho provato a compilare il programma in ambiente w32 con dev-c++ e funziona tutto alla perfezione! (prima usavo gcc in ambiente Unix linux)... ho usato soltanto le librerie string.h e stdio.h

PM Quote
Avatar
Rand (Ex-Member)
Pro


Messaggi: 163
Iscritto: 17/05/2005

Segnala al moderatore
Postato alle 14:55
Sabato, 17/06/2006
Testo quotato

Postato originariamente da dodoeg:

avete ragione... in questo momento non mi è possibile postare il codice, ma se servirà lo farò...
però ho provato a compilare il programma in ambiente w32 con dev-c++ e funziona tutto alla perfezione! (prima usavo gcc in ambiente Unix linux)... ho usato soltanto le librerie string.h e stdio.h



eheh strano che su linux nn giri e su win32 si :D


Ero solito portare una pallottola nel taschino, all'altezza del cuore.
Un giorno un tizio mi tirò addosso una Bibbia, ma la pallottola mi salvò la vita.

(Woody Allen)
PM Quote