Чтение небольшого int с scanf - PullRequest
       0

Чтение небольшого int с scanf

1 голос
/ 29 февраля 2012

Есть ли способ прочитать маленькое целое число (т. Е. 1-байтовое целое число диапазона -128..127), используя scanf?Рассмотрим этот код:

char x;
scanf("%d", &x);

Программа прочитает целое число, скорее всего 4 байта, и попытается записать его по адресу x, тем самым нарушив 3 байта, которые появляются в памяти после этого адреса.

Я знаю, что есть модификатор для короткого целого (%h), но я не слышал об одном для маленького целого (char)?

1 Ответ

6 голосов
/ 29 февраля 2012

scanf требуется строка формата "%hhd" для чтения в char.

...