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

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

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

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

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

Похожие вопросы
Альфа-Банк Москва
от 200 000 до 350 000 ₽
Private-Team Санкт-Петербург
от 3 000 $
ИНКОР Москва
от 100 000 до 200 000 ₽