Δημοσιεύτηκε: 29 Φεβ 2012, 22:23
από Star_Light
Οπα λάθος νομιζω το λέει στην σελίδα 45... πάει να κάνει "match" τον ordinary ',' με το space και επειδη δεν υπάρχει ταίριασμα η scanf τερματίζει δεν το ξαναλεει στην σελιδα 46 επειδη ηδη το εχει εξηγησει στην 45 οποτε αναγκάζει και τους τεμπέληδες - απρόσεκτους να ξανακοιτάξουν :P

Kαι μια τελευταία απορια.... ο '\n' ο οποιος δεν διαβάζεται απο την 1η scanf και τιθεται στην 2η (επομενη κληση της) σαν εισοδος στην 2η λοιπον λαμβάνεται σαν space/blank character και αρα γινεται skip ετσι? Επισης δεν ειναι απαραιτητο να βάλεις μεσα στο format string white space ωστε να μπορεις να δέχεσαι απο το input γιατι τα κανει skip οπως ειπαμε.

Μην μπερδέψω κανεναν μιας και αυτο που λεει στην σελιδα 45 στο πρωτο bulletin ειναι για τους ordinary... Δηλαδη αρκει εγω να βάλω στην scanf

Κώδικας: Επιλογή όλων
scanf("%d /%d" , &x , &y);

έναν κενό ωστε πριν τον ordinary / να δώσω οσους θλεω στο input χωρις να υπάρχει προβλημα....
ωστε μετα η "pattern matching" scanf να κανει match τον / με τον / να ταιριαξουν και να συνεχισει
ασχετα με τα ποσα κενα πληκτρολογησαμε...

Γιατι αν εχεις
Κώδικας: Επιλογή όλων
scanf(" %d/%d", &x , &y);

και πας να δωσεις στο input
Κώδικας: Επιλογή όλων
2 /5
θα πετάξει σφάλμα....

ενω με το 1ο και
Κώδικας: Επιλογή όλων
2 / 5
να δωσεις εισαι οκ. ;)