Задать вопрос

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

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

вывод: 59e0c8d35c1fd283623535.png
Почему он собственно их выводит?
И можно ли это как нибудь исправить не увеличивая размер массива?
  • Вопрос задан
  • 340 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Яндекс Практикум
    Разработчик C++ расширенный
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл разработчик С++
    4 месяца
    Далее
Решения вопроса 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'
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы