BTW, I'm using 46 because I think that equals the "."
Then, why not use '.'?
int words[100];
One does not read ints from the serial port. One does not read words from the serial port.
void loop()
{
inputbuffer();
}
Could you maybe add a few more useless blank lines?
if(words[x] = 46)
Assigning 46 to words[x] will always succeed, so the test will always be true. ==?
The words array should have a much better name. The type should be char. After each character is added, a NULL needs to be added after it (but don't increment the index again).
for (i = 0; i < x; i++)
{
Serial.print(words[i]);
}
If you properly NULL terminated the array, and it was the right size/type, you wouldn't need a for loop to print it.
At some point, it might be a good idea to reset i to 0.