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

Stack overflow in your program's main thread


kal03

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

Μάλλον γράφαμε μαζί, οπότε δες παραπάνω. Ή εναλλακτικά βρες με πόση 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.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

Συνδεθείτε τώρα
  • Δημιουργία νέου...