Ошибка "Array type is not assignable", не могу понять как убрать
Программа должна перевернуть введенное пользователем предложения. Например, Hello world превратить в World hello. Не могу понять, как задать длину массива, если количество слов укажет сам пользователь. В 9 строке появляется ошибка "Expression didnt evaluate to a constant". В 22 и 25 "Array type 'char [l]" is not assignable ". Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char sent[140];
int l = strlen(sent);;
char res[l];
int i, j, n, k;
printf("\n Write your sentence: ");
gets_s(sent);
puts("\n Inverted sentence: ");
while (i < l)
{
j = k;
for (; sent[i] != ' ' || i >= 0; i--)
{
k = j - 1; j++;
for (; j < l || sent[j] != ' '; j++, i++)
res[i] = sent[j];
}
if (i < l)
res[i] = ' '; i++;
}
}