Naruszenie ochrony pamięć. Konwersja char na typ całkowity.[C][Linux]

0

jak w tytule. Nie mam pojęcia co robię źle. Oto kod:

/* Wyświetla znak ASCII odpowiadający podanemu numerowi */
#include <stdio.h>

int main(void)
{
  int liczba_ASCII = 0; /* numer znaku */


  printf("Podaj numer znaku standardu ASCII, aby go wyświetlić:");
  scanf("%d", &liczba_ASCII); /* Prawdopodnie tu jest błąd */
  printf("\n\n");

  printf("Liczba %d odpowiada znakowi %c \n", liczba_ASCII, liczba_ASCII);
  return 0;
}

po skompilowaniu nie dostaję żadnych ostrzeżeń (komp. GCC z flagami -Wall i -pedantic) po uruchomieniu wyświetla się komunikat o podanie numeru a po jego podaniu np. 66 dostaję komunikat Naruszenie ochrony pamięci.Platforma linux. Z początku myślałem, że to wina z powodu próby wyświetlenia typu całkowitego jako znak, ale po usunięciu %c i drugiego argumentu z 3-ciego wywołania funkcji printf dzieje się to samo. Kto wie o co chodzi, i wytłumaczy mi, gdzie błędnie myślę?

1

Tu odpalone pod linuksem to co podałeś: http://ideone.com/J8cvyq
Masz coś popierniczone z instalacją gcc

0

W takim razie dziękuję. Popatrzę co jest nie tak :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1