Я только изучаю C, поэтому я использую гораздо более простой код. Я читаю первую главу «Язык программирования C» и пытался найти ответ на поставленную там задачу.
Вот что я придумал:
#include <stdio.h>
int main()
{
/* Set two integers:
c is the character being assessed,
lastspace is 1 if the lastcharacter was a space*/
int c, lastspace;
lastspace = 0;
/* This while loop will exit if the character is EOF
The first "If block" is true if the character is not a space,
and just prints the character
It also tells us that the lastcharacter was not a space
The else block will run if the character is a space
Then the second IF block will run if the last character
was not also a space (and will print just one space) */
while((c = getchar()) != EOF){
if (c != ' '){
putchar(c);
lastspace = 0;
}
else {
if (lastspace != 1)
putchar(c);
lastspace = 1;
}
}
return 0;
}
Надеюсь, это поможет!
Кроме того, я хорошо знаю, что этот код, возможно, не оптимизирован, но для начинающего, такого как я, это должно быть просто!
Спасибо, Фил