Οκ!
Καταρχήν, δεν αντικαθιστά την scanf() με 1 προς 1 αντιστοιχία. Με αυτή τη συνάρτηση δηλαδή δεν διαβάζεις πολλές μεταβλητές, όπως κάνεις με την scanf(). Με αυτή διαβάζεις μια και μόνη μεταβλητή, τύπου string (πίνακας χαρακτήρων) η οποία περιέχει οτιδήποτε σου έγραψε ο χρήστης πριν πατήσει ENTER. Οι χαρακτήρες που έγραψε ο χρήστης μπαίνουν σε διαδοχικές θέσεις του πίνακα σού ( z[] ) ένας σε κάθε θέση.
Η μεταβλητή που διαβάζεις είναι αυτή που περνάς σαν 1ο όρισμα της συνάρτησης, η char z[] στο δικό σου παράδειγμα, την οποία πρέπει πρώτα να την έχεις ορίσει στην main() πριν την περάσεις μέσα στην συνάρτηση.
Όπως κάνουμε δηλαδή με όλες τις μεταβλητές. Πρώτα τις ορίζουμε και μετά τις περνάμε σαν ορίσματα στις συναρτήσεις.
Επειδή τα strings είναι πίνακες (πίνακες χαρακτήρων), όταν τα ορίζεις θα πρέπει να δηλώνεις και την μέγιστη χωρητικότητά τους και να θυμάσαι πως η τελευταία θέση δεσμεύεται για να φιλοξενήσει τον μηδενικό χαρακτήρα ('\0'). Αν λοιπόν ορίσεις ένα string χωρητικότητας 20 θέσεων, οι ωφέλιμες θέσεις του θα είναι 19, γιατί στον 20ο πρέπει να μπει ο μηδενικός χαρακτήρας.
Αυτό που διαβάζεις λοιπόν είναι μια μεταβλητή τύπου string που περιέχει μέσα της όλη τη γραμμή που σου έδωσε ο χρήστης πριν πατήσει ENTER (τα πάντα: κενά, γράμματα, αριθμούς, σύμβολα, tabs, κλπ).
Από εκεί και πέρα, χρησιμοποιώντας είτε έτοιμες συναρτήσεις διαχείρισης strings, είτε δικές σου, μπορείς να κρατήσεις ή να πετάξεις οτιδήποτε από αυτά που σου τύπωσε ο χρήστης.
Νομίζω πως σου είχα ξαναδώσει το link, αλλά αν δεν το έχεις διαβάσει τότε πριν προχωρήσεις σου συνιστώ ανεπιφύλακτα να διαβάσεις τουλάχιστον αυτή εδώ τη δημοσίευση:
http://www.gvrteam.gr/forum/viewtopic.p ... 178#p47178Πιστεύω πως θα είναι πολύ καλύτερα να ξεκαθαρίσουμε όσα γράφω στο παραπάνω link πριν προχωρήσουμε παρακάτω. Οπότε όταν κι εάν έχεις διάθεση και χρόνο, ρίξε τους μια ματιά και γράψε μετά τυχόν απορίες, ώστε να τις λύσουμε και να προχωρήσουμε μετά παρακάτω

UnKnown96 έγραψε:Τις γραμμές 6, 11, 13 και 15.
Γενικά δεν καταλαβαίνω πως αυτό αντικαθηστά το scanf.
Σε ποιό μερος ζητάει χαρακτήρες και σε ποιά <θέση> του array το αποθηκεύει;