Если вы удалите только ' '
:
int c;
char space_found = 0;
while ( ( c = getchar() ) != EOF) {
if ( (!space_found) || (c != ' ') ) { // if the previous is not a space, or this is not a space
putchar(c);
}
space_found = (c == ' '); // (un)set the flag
}
Вы можете изменить его, чтобы проверить наличие пробелов с помощью простого макроса:
#define is_white_space(X) ( ( (X) == ' ' ) || ( (X) == '\t' ) || ( (X) == '\n' ) )
и замените c == ' '
на него