Δημοσιεύτηκε: 30 Αύγ 2011, 18:41
από migf1
Δεν είναι: *save = s1; αλλά: save = s1;

Στον κώδικα που έχω δώσει είναι αρχικοποίηση: char *save = s1; Δηλαδή ορισμός και ανάθεση αρχικής τιμής σε ένα βήμα.

ΥΓ1. Γιώργο, με "a", "ab" δεν λειτουργεί σωστά, αλλά αλγοριθμικά το έχεις προσεγγίσει πολύ! :) Τον έλεγχο για το αν το s1[i] είναι '\0' βγάλτο από τη συνθήκη του loop και βάλτο με ένα if μέσα στο loop... αν ισχύει, επέστρεφε 0. Έξω από το loop επέστρεψε: s1[i] - s2[--i] :)

ΥΓ2. Κώστα, έχω την εντύπωση πως το %p δεν είναι στάνταρ, δεν είμαι 100% σίγουρος όμως.
Star_Light έγραψε:
stamatiou έγραψε:Αυτό το %p στην printf τι είναι; Πρώτη φορά το βλέπω! Έγραψα στο terminal man printf αλλά μου έβγαλε (μάλλον) μια εντολή του bash...


Ο μορφοποιητης %p φιλε σταματιου χρησιμοποιειται απο την ANSI τυποποιηση εχω διαβασει πως αν για καποιο λογο ο μεταγλωτιστης σου δεν το υποστηριζει μπορεις να δοκιμασεις με τους %u ή %lu .

Btw Με αυτη την "παρουσιαση" που εκανα καταλαβα και τα *s1=*s2 γιατι μπορουμε να τα χρησιμοποιησουμε απευθειας αλλωστε οι συμβολοσειρες ειναι πινακες χαρακτηρων. Τωρα μενει μονο να καταλαβω γιατι *save=s1;
και return save; Απλα δεν καταλαβαινω το γεγονος οτι δηλαδη το *save περιμενει δεξια τιμη λογω αστερισκου αρα πως του βάζουμε εμεις αριστερη τιμη... εχω φαει κομπλα σε αυτο γερη. Παω να ψωνισω τιποτα απο το σουπερμαρκετ και επανερχομαι. :lol: :lol:

Π.Σ Α δεν ανηκει τελικα το %p στα στανταρ?