如何根据输入字符多少分配内存
嗯,,,大概是这样
输入 一串字符回车
计算字符
分配内存
储存字符
得到字符串首地址
我也考虑了下动态数组,但是还是搞不定...求指导
#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); }