sprintf函数 第一个参数
的有关信息介绍如下:sprintf函数功能: 把格式化的数据写入某个字符串缓冲区。
所以第一个参数虽然是指针,但是必须是指向某个可以写入的,字符串缓冲区的首地址的指针。
如果只是定义了一个局部变量的指针,但是没有对指针地址进行初始化的话,指针可能会指向一个随机地址,如果此地址是无效的地址段,就会出现你所描述的情况。
其实用字符串数组名作为第一个参数;还是定义一个指针,一个字符串数组,将指针指向字符串首地址,再用指针作为第一个参数理论上没有什么实际区别。要求是指针指向的字符串缓冲区必须是有效可写地址。
比如:
char tempstring;
char *str;
str = tempstring;