Δημοσιεύτηκε: 16 Αύγ 2011, 16:08
migf1 έγραψε:Το "hell" είναι Ν-1 χαρακτήρες, δηλαδή Ν μαζί με το '\0' που βάζει η fgets()... άρα το διαβασμένο σου string ισούται με:
- Κώδικας: Επιλογή όλων
{'h', 'e', 'l', 'l', '\0'}
Εκεί μέσα δεν υπάρχει πουθενά '\n', οπότε πως περιμένεις να σταματήσει ποτέ ένα loop που εκτελείται πάνω στο διαβασμένο σου string μέχρι να βρει τον χαρακτήρα '\n' ;;;;;;;;
Αυτό που κάνει λοιπόν είναι να συνεχίζει και μετά το τέλος του string σου... ε, κάποια στιγμή σε κάποιο τυχαίο byte της μνήμης θα βρει κι ένα '\n' και θα σταματήσει
μαλιστα. Καταλαβα τι εννοεις... απλα εγω το ορισα μεσα στην for με την λογικη οτι ο χρηστης θα δινει μια φραση και θα παταει μετα enter επομενως τελειωνει το διαβασμα εκει. Απλα εσυ μιλας για οριακα σημεια δηλαδη στα σημεια που καποιος δωσει 255 μηκος συμβολοσειρα χαρακτηρων για να ειμαι ειλικρινης αυτο δεν το ειχα σκεφτει (οριακο) σημειο οταν εφτιαχνα τον κωδικα.