int n=0,k=100; //初始化,字符串长度为0,字符串空间长度为100 char * s2 = NULL,s1 = (char *)malloc(100); //初始化字符串空间 if (s1 == NULL) return; //内存分配失败,返回 while((c=getchar())!=EOF){ //判断是否到文件结束,一个个读取字符 ...
鉴于这种理解,可以定义一个输入函数,先动态申请一个较大的空间,直接向其内输入字符串;输入完毕后检测其长度,再按实际需要申请一个合适大小的空间,把刚才输入的字符串拷贝到这个合适大小的空间里,再把原先申请的大空间释放。举例代码如下: