#include <stdio.h>
#include <string.h>
const int STORAGE = 1024;
int getword(char * w) {
int iochar = 0;
int index = 0;
int numberofchars = 0;
while ((iochar
= getchar()) != EOF
) { if (iochar != ' ' && iochar != '\n') {
w[index] = iochar;
index++;
numberofchars++;
} else {
w[index] = '\0';
return -1;
} else {
return numberofchars;
}
}
} //after while loop
w[index] = '\0';
return (numberofchars > 0 ? numberofchars : -1);
} // end of function
int main()
{
int c;
char s[STORAGE];
for (;;) {
c = getword(s);
if (c == -1) break;
printf("n=%d, s=[%s]\n", c
, s
); }
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCmNvbnN0IGludCBTVE9SQUdFID0gMTAyNDsKCmludCBnZXR3b3JkKGNoYXIgKiB3KSB7CiAgICBpbnQgaW9jaGFyID0gMDsKICAgIGludCBpbmRleCA9IDA7CiAgICBpbnQgbnVtYmVyb2ZjaGFycyA9IDA7CiAgICAKICAgIHdoaWxlICgoaW9jaGFyID0gZ2V0Y2hhcigpKSAhPSBFT0YpIHsKICAgICAgICBpZiAoaW9jaGFyICE9ICcgJyAmJiBpb2NoYXIgIT0gJ1xuJykgewogICAgICAgICAgICB3W2luZGV4XSA9IGlvY2hhcjsKICAgICAgICAgICAgaW5kZXgrKzsKICAgICAgICAgICAgbnVtYmVyb2ZjaGFycysrOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHdbaW5kZXhdID0gJ1wwJzsKICAgICAgICAgICAgaWYgKHN0cmNtcCh3LCAiZG9uZSIpID09IDApIHsKICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiBudW1iZXJvZmNoYXJzOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSAvL2FmdGVyIHdoaWxlIGxvb3AKICAgIHdbaW5kZXhdID0gJ1wwJzsKICAgIHJldHVybiAobnVtYmVyb2ZjaGFycyA+IDAgPyBudW1iZXJvZmNoYXJzIDogLTEpOwp9IC8vIGVuZCBvZiBmdW5jdGlvbgoKCgppbnQgbWFpbigpCnsKICAgIGludCBjOwogICAgY2hhciBzW1NUT1JBR0VdOwoKICAgIGZvciAoOzspIHsKICAgIAljID0gZ2V0d29yZChzKTsKICAgIAlpZiAoYyA9PSAtMSkgYnJlYWs7CiAgICAgICAgcHJpbnRmKCJuPSVkLCBzPVslc11cbiIsIGMsIHMpOwogICAgfQp9IA==
n=8, s=[trickier]
n=2, s=[to]
n=6, s=[master]
n=5, s=[hello]
n=5, s=[world]
n=3, s=[who]
n=2, s=[is]
n=2, s=[it]
n=2, s=[hi]