#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] );
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Такой вопросЯ перегружаю операторы для работы с вектором, который состоит из трек точек