В C, когда вы хотите напечатать что-то, вам нужно указать спецификатор формата. Затем компилятор распечатает все соответственно.
По вашему вопросу спецификатор %d
предназначен для печати номера, а %c
- для печати символа.
Так что, когда вы пытались напечатать целочисленное значение, используя %c
спецификатор формата, после чего система конвертирует 48-57
в тип char, то есть '0'-'9'
. И если вы go дальше, он напечатает
:; <=>? @ AB C и т. Д.
И это потому, что система следует ASCII.