Как положить первое слово в отдельный массив?
У меня есть программа, которая считывает ввод строки и кладёт её в отдельный массив finalArr. Все слова в этом массиве имеют длину 3. Мне нужно взять оттуда первое слово и положить его в отдельный массив distArr. Но при запуске, ничего не выводится.
#include <stdio.h>
#include <string.h>
void main(void)
{
char finalArr[100];
char src;
int i = 0;
printf("Enter a string: ");
// заполняем массив
while ((src = getchar()) != '\n' && i < 99)
{
finalArr[i] = src;
i++;
}
finalArr[i] = '\0';
printf("Result is: %s\n", finalArr); // выводим введённую строку
// Непосредственно код, который должен записывать первое слово в отдельный массив
char distArr[100];
int j = 0;
for (j = 0; j < strlen(finalArr); j++)
{
finalArr[j] = distArr[j];
if (finalArr[j] == ' ')
{
break;
}
}
distArr[j] = '\0';
printf("Dist array is %s", distArr);
}
Например, массив finalArr - "qwe qwe qwe", массив distArr - "qwe"
Источник: Stack Overflow на русском