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

Α10.14 · scanf χωρίς &

Διάλεξη 10, διαφάνεια 11 · Δυσκολία ★★☆ · debug · Κεφάλαια: 10, 11

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

#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

Υπόδειξη

Σκεφτείτε τι παίρνει μια συνάρτηση όταν της περνάμε μια μεταβλητή με τιμή, και τι τιμή έχει η n τη στιγμή της κλήσης. Πού θα προσπαθήσει να γράψει η scanf;

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