Just to beat the last bit of life out of this horse: inflect() returns a pointer to one of the strings (alluded to by the others). Note the char* type. So, if those strings were automatics, then the GP post would have been quite correct. I.e. it would return a pointer to freed stack space.
Re^3: Inline::C demonstration for C programmers