Есть ли способ прочитать маленькое целое число (т. Е. 1-байтовое целое число диапазона -128..127), используя scanf
?Рассмотрим этот код:
char x;
scanf("%d", &x);
Программа прочитает целое число, скорее всего 4 байта, и попытается записать его по адресу x, тем самым нарушив 3 байта, которые появляются в памяти после этого адреса.
Я знаю, что есть модификатор для короткого целого (%h
), но я не слышал об одном для маленького целого (char
)?