I have created a function that reverses all the words in a sentence, meaning that if the input is "Hello World" the output is supposed to be "World Hello". The code below is the function.
char*  reversesentence(char sent[]) {
  int lth = strlen(sent);
  int i;
  for(i = lth -1; i >= 0; i--) {
    if(sent[i] == ' ') {
        sent[i] = '\0'; 
        printf("%s ", &(sent[i]) + 1); 
    }
  }
  printf("%s", sent);
}
In the main I am trying to ask the user for the sentence and calling the function in the main.
  int main(void)
  {
    char sentence[2000];
    printf("Please enter the sentence you want to be reversed.\n");
    scanf("%s", sentence);
    reversesentence(sentence);
    printf("%s", sentence);
  }
It seems that the array is only storing the first word of the sentence only.
Output:
Please enter the sentence you want to be reversed.
hello my name is 
hellohello
Process finished with exit code 0`
Can someone help me fix this please? Searched online and found nothing useful.
 
     
    