No Ifrit ha ragione, avevo constatato anche io che il segmentation fault si verificasse in corrispondenza delle istruzioni che dice lui e mi ero dato la stessa spiegazione che dice lui.
Quanto usi delle printf() di debug ricorda di mettere sempre '\n' alla fine della stringa di formato, altrimenti è probabile che questa non ti venga stampata fino alla prossima istruzione di output a video (e nel tuo programma "la prossima" non c'è, visto che quella è l'unica), invece con '\n' forzi lo svuotamento dello stream di output.
Per esempio, compilando ed eseguendo il tuo codice così com'è ottengo:
invece, aggiundendo semplicemente '\n' qui:codice:5 1 2 3 4 5 Segmentation fault
ottengocodice:printf(" è ora della Segmentation Fault \n");
In ogni caso, giusto per quotare in toto il post di Ifrit, mi associo al suo "grido di dolore": fate sì che il codice sia facilmente intellegibile (oltre che leggibile!) senza costringere chi vuole tentare di darvi una mano a martellarsi il cranio per capire cosa voi avevate intenzione di fare... l'ideale è usare non solo nomi di variabili sensate ma anche i benedetti commenticodice:5 1 2 3 4 5 è ora della Segmentation Fault Segmentation fault![]()

Rispondi quotando