Почему выводит лишние символы?

Если задаю массив 'в притык' , то при выводе его содержимого выводит на экран лишние символы
char L[4] = {'a','b','c','d'};
printf("%s\n", L);

вывод: 59e0c8d35c1fd283623535.png
Почему он собственно их выводит?
И можно ли это как нибудь исправить не увеличивая размер массива?
  • Вопрос задан
  • 308 просмотров
Решения вопроса 2
0xD34F
@0xD34F
В конце должен быть 0. Типа так:
char L[] = {'a','b','c','d', 0};

Или так:
char L[] = {'a','b','c','d', '\0'};
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev
software engineer
Потому что printf выводит не ваш массив, а строку, которая должна заканчиваться символом '\0'
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы