因为sprintf函数没有参数指定缓冲区的大小,这使得溢出的可能性很大,尤其是遇到sprintf( buffer, "%s", a )如果不知道a的串长,就无法指定安全的缓冲区。解决方法:如果要用sprintf处理, 应该提前获取串a的长度len_a,然后动态申请len_a + 1大小的内存。 这样溢出问题就可以避免掉。