Выводится мусор в конце строки - 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};
Объяснение кода листинга программы
- Объявляется массив
sтипаcharс размером 80 элементов и инициализируется нулями.