Νέα

Έξαλλο τριήμερο! Δώστε info.

  • Μέλος που άνοιξε το νήμα madoka
  • Ημερομηνία ανοίγματος
  • Απαντήσεις 398
  • Εμφανίσεις 12K
  • Tagged users Καμία
  • Βλέπουν το thread αυτή τη στιγμή 1 άτομα (0 μέλη και 1 επισκέπτες)

Boldemort

Σεβαστός
Εγγρ.
4 Σεπ 2009
Μηνύματα
47.529
Κριτικές
12
Like
42
Πόντοι
1.220
(a) putchar(p); Αυτό δεν είναι έγκυρο, η putchar θέλει char, όχι δείκτη σε char.
(b) putchar(*p); Αυτό είναι έγκυρο, Θα εκτυπώσει τον χαρακτήρα στον οποίο δείχνει ο δείκτης p που είναι ο πρώτος χαρακτήρας του string "abc", άρα θα εκτυπώσει a.
(c) puts(p); Είναι έγκυρο και θα εκτυπώσει όλο το string abc.
(d) puts(*p); Δεν είναι έγκυρο, ίσως να γίνει compile, αλλά θα σκάσει στο τρέξιμο το πρόγραμμα πιθανότατα γιατί η puts εκτυπώνει διαδοχικά byte μνήμης μέχρι να βρει το byte που έχει μέσα την τιμή τερματισμού του string '0'. Λογικά είτε δεν θα βρει αυτήν την τιμή, είτε η θέση μνήμης που θα είναι η ascii τιμή του  'a' δεν θα είναι διαθέσιμη για το πρόγραμμα και έτσι θα σκάσει. Όταν γράφεις  puts(*p) είναι σαν να γράφεις puts('a') (αυτό δεν παίζει να τρέξει).

Σωστά. Μια ερώτηση για να σου πιάσω το 100% και οχι το 98 :grin: άν ειχες να δηλώσεις μια μεταβλητή χαρακτήρα την οποια μετα θα έπρεπε να εκτυπώσεις μεσω της συνάρτησης putchar πώς θα την δήλωνες? με char c; για παραδειγμα?
 
OP
OP
madoka

madoka

Μέλος
Εγγρ.
24 Ιουλ 2013
Μηνύματα
1.154
Like
0
Πόντοι
16
Σωστά. Μια ερώτηση για να σου πιάσω το 100% και οχι το 98 :grin: άν ειχες να δηλώσεις μια μεταβλητή χαρακτήρα την οποια μετα θα έπρεπε να εκτυπώσεις μεσω της συνάρτησης putchar πώς θα την δήλωνες? με char c; για παραδειγμα?

Είναι καλύτερο να την δηλώσεις σαν int c; αν έχεις σκοπό να χρησιμοποιήσεις την getchar(); και αυτό γιατί η getchar();επιστρέφει και EOF (το οποίο μεταφράζεται συνήθως σε -1 ), με το char δεν θα μπορούσε να κρατήσει αρνητικούς αριθμούς.


 
OP
OP
madoka

madoka

Μέλος
Εγγρ.
24 Ιουλ 2013
Μηνύματα
1.154
Like
0
Πόντοι
16
μπηκα να δω το εξαλλο τριημερο
και βλεπω εξισωσης προγραματισμου  :2funny:
τι μαλακες ειστε  :birdman:

Ενώ εσύ έδωσες το καλό παράδειγμα, γράφοντας κάτι σχετικό με έξαλλο τριήμερο.  :birdman:



Πάνω που ειχαμε καυλώσει μας την εριξες ρε madoka.

Δεν φταίω εγώ.  :grin:
 

Geo Dol

Μέλος
Εγγρ.
23 Φεβ 2013
Μηνύματα
7.421
Κριτικές
2
Like
0
Πόντοι
66
Είναι καλύτερο να την δηλώσεις σαν int c; αν έχεις σκοπό να χρησιμοποιήσεις την getchar(); και αυτό γιατί η getchar();επιστρέφει και EOF (το οποίο μεταφράζεται συνήθως σε -1 ), με το char δεν θα μπορούσε να κρατήσει αρνητικούς αριθμούς.
Ακόμα δεν κοιμάσαι μωρή πόρνη;

Πρόσεχε θα κάνεις ρυτίδες νωρίς...... :birdman:
 
OP
OP
madoka

madoka

Μέλος
Εγγρ.
24 Ιουλ 2013
Μηνύματα
1.154
Like
0
Πόντοι
16
Δε παίζει να με ξαναπείτε κλώνο του δικηγόρου. Άντρας φαίνομαι τουλάχιστον;  :grin:
 

Boldemort

Σεβαστός
Εγγρ.
4 Σεπ 2009
Μηνύματα
47.529
Κριτικές
12
Like
42
Πόντοι
1.220
Είναι καλύτερο να την δηλώσεις σαν int c; αν έχεις σκοπό να χρησιμοποιήσεις την getchar(); και αυτό γιατί η getchar();επιστρέφει και EOF (το οποίο μεταφράζεται συνήθως σε -1 ), με το char δεν θα μπορούσε να κρατήσει αρνητικούς αριθμούς.

Ok. 100% εισαι άψογη.

Και με putchar θα την δηλωσεις σαν int c. Γιατι το προτυπο της ετσι λεει -> int putchar(int c);  επιστρεφει int και δέχεται int.
 

Stories

Νέο!

Stories

Top Bottom