Ошибка заполнения динамического массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Я создал массив, потом заполнил, а когда вывел мне показало "dddd", а дальше абракадабра. почему так и как это исправить?
int len = 4;
 
char *com;
com = (char *)malloc(len * sizeof(char));
 
for (j = 0; j < len; j++){
    com[j] = 'd';
}
 
printf("%s\n", com);
printf("%d\n", sizeof(com));

Решение задачи: «Ошибка заполнения динамического массива»

textual
Листинг программы
com = (char *)malloc((len+1) * sizeof(char));
for (j = 0; j < len; j++){
    com[j] = 'd';
com[len] = '\0';

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.4 из 5
Похожие ответы