Προς το περιεχόμενο

Stack overflow in your program's main thread


Προτεινόμενες αναρτήσεις

Δημοσ.

Μάλλον γράφαμε μαζί, οπότε δες παραπάνω. Ή εναλλακτικά βρες με πόση stack τρέχει χωρίς να σκάει και γράψε αυτό στην τεκμηρίωση.

  • Απαντ. 57
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοφιλείς Ημέρες

Δημοσ.

Αν είσαι από Linux, σε bash αυτή η εντολή αλλάζει το μέγεθος της στοίβας:

ulimit -s 16000

που σημαίνει ότι το μέγιστο μέγεθος στοίβας είναι 16 MB.

Δημοσ.

Βρες μέχρι πόσες αναδρομές αντέχει χωρίς να σκάσει, και γράψτο στην τεκμηρίωση της εργασίας σου.

δεν φτάνει μέχρι την αναδρομική συνάρτηση..

το πρόβλημα βγαινει όταν πάω να εισάγω τα στοιχεία με fscanf(...);

την οποία την ζητάει και είναι σε ξεχωριστή συνάρτηση  :blink:

  • Moderators
Δημοσ.

Καλά είναι όλα αυτά που σου λένε τα παιδιά, αλλά πρέπει επίσης να σιγουρευτείς ότι η αναδρομή δουλεύει σωστά και τρέχει όσες φορές πρέπει. Όσο και να αυξήσεις το μέγεθος της στοίβας δε θα έχει νόημα αν η αναδρομική συνάρτησή σου δεν έχει σημείο εξόδου.

  • Like 1
Δημοσ.

Αν είσαι από Linux, σε bash αυτή η εντολή αλλάζει το μέγεθος της στοίβας:

ulimit -s 16000

που σημαίνει ότι το μέγιστο μέγεθος στοίβας είναι 16 MB.

συνδέομαι απομακρυσμένα με μηχάνημα linux και δν αναγνωρίζει την εντολή ulimit (αυτο ειχα προσπαθήσει και πριν)!

Δημοσ.

δεν φτάνει μέχρι την αναδρομική συνάρτηση..

το πρόβλημα βγαινει όταν πάω να εισάγω τα στοιχεία με fscanf(...);

την οποία την ζητάει και είναι σε ξεχωριστή συνάρτηση  :blink:

 

Τότε θα μπορούσες να μας παρουσιάσεις αυτή τη συνάρητηση μόνο; Το σημείο στο οποίο σου "σκάει" δηλαδή.

Δημοσ.

συναρτηση:
int rV(FILE * fp,TS *Elem){

return fscanf(from,"%d",Elem);

}

 

κληση 
if(!yperxeilisi) //to exw orisei se prohgoumenes grammes
      rV(from,Stoix);



to from einai orismeno san FILE *
kai to Stoix san TS * to opoio to ekana me typedef ...kai ousiastika einai int

Δημοσ.

Τότε θα μπορούσες να μας παρουσιάσεις αυτή τη συνάρητηση μόνο; Το σημείο στο οποίο σου "σκάει" δηλαδή.

 

συναρτηση:

int rV(FILE * fp,TS *Elem){

 

}

 

Κορυφαίο?!?!? :-D :-D :-D :-D

  • Like 1
Δημοσ.

to from einai orismeno san FILE *

kai to Stoix san TS * to opoio to ekana me typedef ...kai ousiastika einai int

 

Έκανες δηλαδή:

typedef int TS*;

Αυτό κατάλαβα από αυτό που έγραψες.

Αν είναι έτσι τότε έπρεπε να γράψεις:

return fscanf(from,"%d",&Elem);
Δημοσ.

συναρτηση:

int rV(FILE * fp,TS *Elem){

return fscanf(from,"%d",Elem);

}

 

κληση 

if(!yperxeilisi) //to exw orisei se prohgoumenes grammes

      rV(from,Stoix);

 

to from einai orismeno san FILE *

kai to Stoix san TS * to opoio to ekana me typedef ...kai ousiastika einai int

Αυτό το return τι περιμένεις ότι σου επιστρέφει;

 

ΥΓ. Γενικώς πάντως, με τόσο λίγες πληροφορίες είναι έως κι αδύνατον να βοηθήσουμε.

  • Like 1
Δημοσ.

όχι έκανα:
typedef int TS;
 


η fscanf δεν καταχωρεί στην μεταβλητή Elem (στην περίπτωσή μας) ένα στοιχείο που είναι στο αρχείο from ?
εε αυτό περιμένω να επιστρέψει..
Ουσιαστικά οτι παίρνει τιμή η μτβ Elem :/

 

Αυτό το return τι περιμένεις ότι σου επιστρέφει;
 

Δημοσ.

Η fscanf() επιστρέφει το πλήθος των στοιχείων που διάβασε, αλλιώς επιστρέφει είτε κάτι μικρότερο είτε EOF.

 

Ο αριθμός που διαβάζεις αποθηκεύεται στο *Elem.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...