Выводится мусор в конце строки - 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 элементов и инициализируется нулями.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д