#include #define MAXBUFF 1000 /* removes trailing spaces and tabs */ int main() { int i, c; char buff[MAXBUFF+1]; /* +1 fo \0 */ i = 0; buff[MAXBUFF] = '\0'; while ((c = getchar()) != EOF) { if (c == ' ' || c == '\t') { if (i < MAXBUFF) { buff[i] = c; ++i; } else { /* gracefully handle overflow */ printf("%s", buff); i = 0; } } else if (c == '\n') { buff[0] = c; i = 1; } else { if (i > 0) { buff[i] = '\0'; printf("%s", buff); i = 0; } putchar(c); } } return 0; }