myle Δημοσ. 2 Φεβρουαρίου 2008 Δημοσ. 2 Φεβρουαρίου 2008 Γενικά, ότι σου πε ο πιο πάνω. Gnome: Για να αλλάξεις το character encoding Terminal > Character Enconding > Add or Remove στην κονσόλα του Gnome. Για τα άλλα δεν θυμάμαι τώρα. Και σε Windows φαντάζομαι κάτι παρόμοιο θα είναι δοκίμασε δεξί κλίκ ή κάπου ψηλά αριστερά πρέπει να έχει κάτι σαν ιδιότητες. Επί του θέματος, νομίζω πως πρέπει: >#define FIRST_CHAR 128 int main() { char Achar[25]; for(i=0; i<24; i++) { Achar[i]=FIRST_CHAR+i; } [color="Red"]Achar[25]=0; [/color] printf("%s\n",Achar); return 0; } Γιατί αμέσως μετά το τυπώνεις ως sting άρα χρειάζεσαι τον null terminating character. Αν και νομίζω πιο σωστό είναι να τον βάλεις ως '/0' Επίσης θα μπορούσες να γράψεις αντί για 128, 'Α' που θα ήταν και καλά πιο γενικό αλλά δεν ξέρω και πως θα το πάρει ο compiler.
Aesmade Δημοσ. 3 Φεβρουαρίου 2008 Δημοσ. 3 Φεβρουαρίου 2008 Επί του θέματος, νομίζω πως πρέπει: >#define FIRST_CHAR 128 int main() { char Achar[25]; for(i=0; i<24; i++) { Achar[i]=FIRST_CHAR+i; } [color="Red"]Achar[25]=0; [/color] printf("%s\n",Achar); return 0; } Γιατί αμέσως μετά το τυπώνεις ως sting άρα χρειάζεσαι τον null terminating character. Αν και νομίζω πιο σωστό είναι να τον βάλεις ως '/0' Επίσης θα μπορούσες να γράψεις αντί για 128, 'Α' που θα ήταν και καλά πιο γενικό αλλά δεν ξέρω και πως θα το πάρει ο compiler. Έχεις δίκιο για το null terminating character, αλλά όπως είπε και ο georgemarinos το Achar[25] θα ήταν εκτός της array. Επειδή ο [email protected] θέλει ένα κενό στο τέλος της array, νομίζω πως τελικά θα πρέπει να είναι έτσι: > #define FIRST_CHAR 128 int main() { char Achar[26]; for(i=0; i<24; i++) { Achar[i]=FIRST_CHAR+i; } Achar[24]=32; Achar[25]='\0'; printf("%s\n",Achar); return 0; }
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.