如何输入任意长度的字符串?用c语言来写,不用C++和String类
1个回答
展开全部
要输入任意长度字符串,就需要使用动态内存
也就是逐个元素读入,当不够的时候重新分配。
以下是一个简单的思路, 以\n作为字符串结束标记。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int len=100;
char *p=NULL;
int cnt=0,c;
p = (char *)malloc(len);
while((c = getchar())!='\n')
{
p[cnt++] = c;
if(cnt >= len-1)
{
len+=100;
p=(char *)realloc(p, len);//不够,重新分配内存。
}
}
p[cnt] = 0;
puts(p);
free(p);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |