Я создал функцию, которая переворачивает все слова в предложении, а это означает, что если на входе "Hello World", на выходе должен быть "World Hello". Код ниже — это функция.
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`
Может кто-нибудь помочь мне исправить это, пожалуйста? Поискал в интернете и ничего полезного не нашел.
fgets
вместоscanf
. - person Jabberwocky   schedule 07.01.2019