#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()
{
char* limits = " ,-!";
char str[20];
char save_str[10][10];
int len[10];
int i = 0;
printf("Full the string\n");
fgets(str, 20, stdin);
char* str1 = strtok(str, limits);
while (str1 != NULL)
{
len[i] = strlen(str1);
save_str[i][10] = *str1;
printf("%s\n", str1, strlen(str1));
str1 = strtok(NULL, limits);
i++;
}
printf("new\n");
for (int j = 0; j < i; j++)
{
printf("%s\n", save_str[j][len[j]]);
}
getchar();
getchar();
return 0;
}
Для начала после предложения с fgets
fgets(str,20,stdin);
напишите
str[ strcspn( str, "\n" ) ] = '\0';
Вместо этого предложения
save_str[i][10] = *str1;
запишите
strncpy( save_str[i], str1, 10 );
save_str[i][9] = '\0';
А также вместо этого предложения
printf("%s\n", str1, strlen(str1));
напишите либо
printf("%d: %s\n", len[i], str1 );
или просто
puts( str1 );
Также это предложение следует исправить
printf("%s\n",save_str[j][len[j]]);
Например,
printf("%s\n",save_str[j]);
или
puts( save_str[j] );
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Такой вопросЯ перегружаю операторы для работы с вектором, который состоит из трек точек