char *itoa(int n)
	{
	    char retbuf[20];	      /* 错! */
	    sprintf(retbuf, "%d", n);
	    return retbuf;	        /*  错!*/
	}
一种解决方案是把返回缓冲区声明为
    static char retbuf[20];
本方案并非完美, 尤其是有问题的函数可能会递归调用,
或者会同时使用到它的多个返回值时。
参考资料: [ISO, Sec. 6.1.2.4]。
翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)