На языке C символы представлены в одинарных кавычках. И все, что заключено в одну цитату, является символом. Каждый символ имеет код ASCII, связанный с ним.
ASCII , сокращенно от Американского стандартного кода для обмена информацией, является стандартом кодировки символов для связи электронов c. Коды ASCII представляют текст в компьютерах, телекоммуникационном оборудовании и других устройствах.
Пример, ASCII-код 'A' равен 65
char sampleChar = 'A'
char sampleASCII = 65
Обе символьные переменные sampleChar, sampleASCII предоставляют одинаковые значение при печати.
Таким образом, в вашем случае компилятор не выдает никакой ошибки, поскольку предполагает, что вы хотите сохранить символы со значениями ASCII 1,2,3,4 и 5. Но при печати массив,
char a[5] = { '1','2', '3', '4', '5' };
он будет предоставлять символы 1 2 3 4 5 в качестве вывода. Принимая во внимание, что первый массив не обеспечит вывод на печать. Символы, соответствующие значению ASCII 1 2 3 4 5, используются для управления передачей. Значения ASCII 1, 2, 3, 4, 5 можно найти здесь