Δημοσιεύτηκε: 16 Αύγ 2011, 15:11
από migf1
Star_Light έγραψε:
...
αλλα δημιουργωντας και μια δευτερη συναρτηση στην οποια θα βαζω εκει να υπολογιζει το αντιστροφο της φρασης μας και θα την καλω με αναφορα.

Αυτή τη συνάρτηση την έχουμε ήδη γράψει αν θυμάμαι καλά σε αυτό το νήμα. Κι αν όχι μόνη της, τότε σίγουρα μέσα σε κάποιες από τις ασκήσεις.

Ο ταχύτερος τρόπος να αντιστρέψεις ένα s με μια συνάρτηση, περνώντας της σαν όρισμα το s είναι να χρησιμοποιήσεις 2 τοπικούς, προσωρινούς δείκτες, έναν στην αρχή του s ( char *cp1 = s; ) κι έναν στο τέλος του τρέχοντος μήκος του s ( char *cp2 = s + strlen(s) - 1;)

Κατόπιν με ένα loop θα αρχίσεις να αυξάνεις τον cp1 και να μειώνεις τον cp2 μέχρι να συναντηθούν (στη μέση του s θα συναντηθούν), εναλλάσσοντας στην πορεία τα περιεχόμενά τους.