Fogo Δημοσ. 10 Φεβρουαρίου 2009 Δημοσ. 10 Φεβρουαρίου 2009 Να ρωτήσω κάτι για όποιον μπορεί να βοηθήσει. Πως μπορουμε στην C να επιτρέπουμε σε μια μεταβλητή να παίρνει μόνο τριψήφια νούμερα???
drm Δημοσ. 10 Φεβρουαρίου 2009 Δημοσ. 10 Φεβρουαρίου 2009 δεν μπορείς να το κάνεις έτσι απλά, Εάν η τιμή δίδεται από τον χρήστη, τότε πρέπει να την ελέγχεις και να ξαναζητάς νέα τιμή εάν δεν πληρή τις προυποθέσεις ...
PCharon Δημοσ. 10 Φεβρουαρίου 2009 Δημοσ. 10 Φεβρουαρίου 2009 Οι μεταβλητές καταλαμβάνουν συγκεκριμένο αριθμό bits. Βάζω στοίχημα πως είναι λάθος τρόπος για να φτιάξεις αυτό που θες. Εσύ πρέπει να είσαι σίγουρος για τον αριθμό που θες να αποθηκεύσεις ή να τον ελέγχεις εκ των προτέρων και όχι να περιμένεις να σε σώσει το buffer overflow. Άσε που δεν γίνεται αν αναφέρεσαι σε 10αδικό τριών ψηφίων, αφού το 999 γράφεται 1111100111, συνεπώς πώς μπορείς να ξέρεις πως δεν αποθηκεύεται 1111101111 (=1007) ή 1111110111 (=1015) ή 1111111111 (=1023)? Πρέπει να ελέγχεις τί αποθηκεύεις.
Fogo Δημοσ. 10 Φεβρουαρίου 2009 Μέλος Δημοσ. 10 Φεβρουαρίου 2009 Ο αριθμός θα δίνεται από τον χρήστη Το πρόγραμμα πρέπει να δέχεται 3 ψήφιους αριθμούς, είναι εύκολο να βάλω μια συνθήκη while α<1000 για παράδειγμα. Απλά νομίζω ότι θυμάμαι οτι μπορείς να δηλώσεις πόσα ψηφία να έχει η μεταβλητή... Δεν θέλω να μπλέψω με buffer βασικά!!!
PCharon Δημοσ. 10 Φεβρουαρίου 2009 Δημοσ. 10 Φεβρουαρίου 2009 είναι εύκολο να βάλω μια συνθήκη while α<1000 για παράδειγμα. Αυτό θα κάνεις. Απλά νομίζω ότι θυμάμαι οτι μπορείς να δηλώσεις πόσα ψηφία να έχει η μεταβλητή... Μάλλον έχεις μπερδευτεί, θυμάσαι το character string που γράφεται π.χ. char mia_leksi[100] και σημαίνει 99 χαρακτήρες (άλλο πράγμα αυτό).
Fogo Δημοσ. 11 Φεβρουαρίου 2009 Μέλος Δημοσ. 11 Φεβρουαρίου 2009 οκ σας ευχαριστώ που ασχοληθήκατε και βοηθήσατε μαλλον θυμάμαι λάθος
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.