Я создал функцию, которая переворачивает все слова в предложении, что означает, что если вход «Hello World», то вывод должен быть «Hello World». Код ниже является функцией.
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);
}
В основном я пытаюсь спросить пользователя о предложении и вызываю функцию в основном.
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);
}
Кажется, что в массиве хранится только первое слово предложения.
Выход:
Please enter the sentence you want to be reversed.
hello my name is
hellohello
Process finished with exit code 0`
Может кто-нибудь помочь мне исправить это, пожалуйста? В сети искал и ничего полезного не нашел.