Συντονιστής: konnn

stamatiou έγραψε:Εγώ δεν έχω καταλάβει γιατί υπάρχει αυτό return (int)(*s1 - *--s2);



while (*s1==*s2++) if(!*s1++) return (int)(*s1- *--s2); 

stamatiou έγραψε:το if(!*s1++) ελέγχει το παρόν s1 αν είναι '\0' και το αυξάνει κατά ένα, το ίδιο θα μπορούσαμε φαντάζομαι να κάνουμε και στο while αντί για το if....
if(!*s1++) putchar(65) - putchar(68) = A-D = 65 - 68 = -3 
Star_Light έγραψε:stamatiou έγραψε:το if(!*s1++) ελέγχει το παρόν s1 αν είναι '\0' και το αυξάνει κατά ένα, το ίδιο θα μπορούσαμε φαντάζομαι να κάνουμε και στο while αντί για το if....
Ναι σωστα μολις τωρα ημουν ετοιμος να το γραψω... ουσιαστικα το
- Κώδικας: Επιλογή όλων
if(!*s1++)
λεει πως άν δεν υπάρξει s1 δείκτης (δεν ξερω αν το εκφραζω και σωστα) αν δηλαδη πλεον ενω αυξανεται φτασει σε ενα σημειο να δειξει στο '\0' τελος συμβολοσειρας δηλαδη τοτε επεστρεψε τιμη 0.
Απο οσο λεει ο migf1 αν ειναι ανομοιοι οι δυο δεικτες η συνάρτηση επιστρέφει αρνητικη τιμή αν καταλαβα καλα?

stamatiou έγραψε:
Ναι και σε αυτό φροντίζει η παρακάτω γραμμή

