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++ - Programma crasha se aggiungo dei normali caratteri ad un printf
Forum - C/C++ - Programma crasha se aggiungo dei normali caratteri ad un printf

Avatar
Arat (Normal User)
Newbie


Messaggi: 8
Iscritto: 24/09/2014

Segnala al moderatore
Postato alle 3:02
Domenica, 16/11/2014
Ciao a tutti, mi trovo davanti una situazione a dir poco strana. Il programma con cui sto lavorando funziona perfettamente. Stavo sistemando la parte grafica e mi sono accorto che se aggiungo un printf con una particolare stringa al suo interno, tutto il programma crasha.

La stringa in questione è:
Codice sorgente - presumibilmente Plain Text

  1. printf("\n\t\t ---- VETTORE NON ORDINATO ----\n\n");


Se la scrivo così il programma crasha o si comporta in modo indefinito.

Se la scrivo così:
Codice sorgente - presumibilmente Plain Text

  1. printf("\n\t\t     VETTORE NON ORDINATO\n\n");


Tutto fila liscio e il programma funziona perfettamente. Non capisco proprio dove sia il problema. :-|

Se volete avere l'intero codice lo potete trovare qui: http://pastebin.com/AisP23Zr (la riga è la 35).

Grazie mille

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:53
Domenica, 16/11/2014
Quale compilatore usi?

Comunque esistono errori gravi che sono la causa del problema (non è la printf ...)

j non è inizializzata in alcune funzioni ...

E soprattutto nelle realloc non devi scrivere

(sizeof(int) * j+1)

ma

sizeof(int) * (j+1)

Ultima modifica effettuata da nessuno il 16/11/2014 alle 12:11


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
Arat (Normal User)
Newbie


Messaggi: 8
Iscritto: 24/09/2014

Segnala al moderatore
Postato alle 15:01
Domenica, 16/11/2014
Testo quotato

Postato originariamente da nessuno:

Quale compilatore usi?

Comunque esistono errori gravi che sono la causa del problema (non è la printf ...)

j non è inizializzata in alcune funzioni ...

E soprattutto nelle realloc non devi scrivere

(sizeof(int) * j+1)

ma

sizeof(int) * (j+1)



Uso GCC e come IDE CodeBlocks. Non mi dava nessun warning anche se gli avevo tutti attivati 8-|

Comunque l'errore era li, grazie.

Ultima modifica effettuata da Arat il 16/11/2014 alle 15:09
PM Quote