C και αριθμοι

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
john34516
Δημοσιεύσεις: 21
Εγγραφή: 06 Αύγ 2007 04:16

C και αριθμοι

Δημοσίευση από john34516 » 23 Μαρ 2010 17:39

πως μπορω να διαβασω ενα αριθμο που μπορει αρχικα να αρχιζει και με μηδεν ? αν τον δηλωσω ως int και δωσω πχ τον αριθμο 015 και τον τυπωσω θα μου τυπωσει 15. υπαρχει καπιος τροπος ?

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

C και αριθμοι

Δημοσίευση από virxen75 » 23 Μαρ 2010 18:36

διάβασε τον σαν συμβολοσειρά

π.χ.

Κώδικας: Επιλογή όλων

char number[10];
scanf("%s",&number);
printf("%s",number);

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

C και αριθμοι

Δημοσίευση από soteres2002 » 24 Μαρ 2010 01:19

Ακριβώς όπως σου τα λέει ο vrixen. Μπορείς να αναπαριστάς την αριθμητική τιμή με συμβολοσειρά και να παίρνεις την αριθμητική τιμή μέσω της συνάρτησης atoi(). Σε περίπτωση που κάνεις πράξεις, μπορείς να ξανααποθηκεύεις τον ακαίρεο αριθμό που θα προκύψει σε κάποια άλλη συμβολοσειρά (πχ σε κάποιο character buffer) που δέσμευσες είτε στατικά είτε δυναμικά πιο πριν με sprintf().

Αλλά για να έχουμε καλό ερώτημα, ποιος ο λόγος να κάνεις παίξεις με αυτή την πατέντα και να μην παίξεις απευθείας αμέσως με integers (κι ας μην αρχίζουν με 0);; Στην τελική αν θες να σου εμφανίζεται και ένα μηδέν μπροστά από τον αριθμό όταν τον τυπώνεις στην οθόνη, κοτσάρεις ένα "0" πριν το formatter "%d" στην printf (ή ανάλογα σε άλλη συνάρτηση Ι/O).

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες