Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Α9.9 · scanf χωρίς &

Διάλεξη 9: Δεδομένα Εισόδου, διαφάνεια 32 · Δυσκολία ★★☆ · short-answer · Κεφάλαια: 9

Στο πρόγραμμα

#include <stdio.h>
int main() {
  int n;
  printf("Gimme a number: ");
  scanf("%d", &n);
  printf("Square: %d\n", n * n);
  return 0;
}

τι θα γινόταν αν γράφαμε scanf("%d", n);; Γιατί;

$ ./scanf
Gimme a number: 3
Segmentation fault

Υπόδειξη

Η C περνάει τα ορίσματα με τιμή. Τι παίρνει η scanf στη μία και τι στην άλλη περίπτωση, και πού προσπαθεί να γράψει τον αριθμό που διάβασε;

Αριθμός στον οδηγό: Α9.9 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: slides-lec09-scanf-no-ampersand · Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec09-scanf-no-ampersand.html · Markdown (GitHub)