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: 5714
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 ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
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