Выводится мусор в конце строки - C (СИ)

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

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

При выводе вместе с нужным значением выводится мусор
#include "stdafx.h"
 
long int len1(char*adr)
{
    int j = 1;
    int k = 0;
    while (*(adr + j) != '\0')
    {
        k = k + 1;
        j = j + 1;
 
    }
 
    return(k);
}
void _tmain(int argc, _TCHAR* argv[])
{
    int i, j, h;
    char s3[5][80];
    char s[80];
    for (i = 0; i < 5; i++)
    {
        printf("stroka nomer %d:", i);
        fgets(s3[i], 80, stdin);
    }
    j = 0;
    for (i = 0; i < 5; i++)
    {
        for (h = 0; h < len1(s3[i]); h++)
        {
            s[j] = s3[i][h];
            j++;
        }
    }
    printf("dlina %d\n", len1(s));
    printf("%s", s);
}

Решение задачи: «Выводится мусор в конце строки»

textual
Листинг программы
char s[80] = {0};

Объяснение кода листинга программы

  1. Объявляется массив s типа char с размером 80 элементов и инициализируется нулями.

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


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

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

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