如何根据输入字符多少分配内存
嗯,,,大概是这样
输入 一串字符回车
计算字符
分配内存
储存字符
得到字符串首地址
我也考虑了下动态数组,但是还是搞不定...求指导
程序代码:#include<stdio.h>
#include<stdlib.h>
int main()
{
int i=0;
char *cun;
cun=(char*)malloc(1*sizeof(char));
while((cun[i]=getchar())!='\n')
{
cun=(char*)realloc(cun,(i+2)*sizeof(char));
i++;//检查指针是否为空指针
}
printf("输入了%d个\n",i);
puts("逆序输出");
for (--i;i>=0;i--)
printf("%c",cun[i]);
}

程序代码:
#include <stdio.h>
int main(void){
char *pstr = NULL;
pstr = (char*)malloc(999999 * sizeof(char));
printf("请输入字符串...");
fgets(pstr,999999,stdin);
pstr = (char*)realloc(pstr, strlen(pstr) * sizeof(char));
printf("输入的字符串长度为:\t%d\n", strlen(pstr));
printf("输入的字符串是:\t%s\n", pstr);
free(pstr);
}

