Δημιουργήστε ένα αρχείο readint.c με τα ακόλουθα περιεχόμενα:
/* File: readint.c */
#include <stdio.h>
int main() {
int number;
printf("Please give me a number: ");
scanf("%d", &number);
printf("I just read this number: %d\n", number);
return 0;
}
Μεταγλωττίστε και τρέξτε το παραπάνω πρόγραμμα. Πώς συμπεριφέρεται;
Τι συμβαίνει αν αντί για αριθμό δώσετε μια λέξη ή μια κενή γραμμή;
Τι συμβαίνει αν αντί για αριθμό πληκτρολογήσουμε Ctrl+D (EOF);
Τι θα συμβεί αν τυπώσουμε την μεταβλητή number πριν τη διαβάσουμε;
Γιατί να μην δώσουμε μια σταθερή τιμή στην μεταβλητή number στο πρόγραμμά μας - γιατί
να ζητήσουμε από τον χρήστη να δώσει μια τιμή;
Αν χρειαζόταν να διαβάσετε έναν αριθμό κινητής υποδιαστολής, πώς θα το κάνατε;
Η scanf επιστρέφει πόσες τιμές διάβασε επιτυχώς: δεν αλλάζει τη μεταβλητή όταν
αποτυγχάνει. Αναρωτηθείτε λοιπόν ποια τιμή έχει μια τοπική μεταβλητή που δεν
αρχικοποιήθηκε ποτέ, και πώς η scanf χειρίζεται τα κενά και τις αλλαγές γραμμής
πριν από έναν αριθμό.
Αριθμός στον οδηγό: Α9.12
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: lab-lab02-readint ·
Σύνδεσμος: https://progintro.github.io/study/questions/labs/lab-lab02-readint.html ·
Markdown (GitHub)