编写一个linux C语言程序 接受输入一个任意长度的字符串并输出(使用malloc和realloc函数)
编写一个linuxC语言程序接受输入一个任意长度的字符串并输出(使用malloc和realloc函数)...
编写一个linux C语言程序 接受输入一个任意长度的字符串并输出(使用malloc和realloc函数)
展开
1个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
#define CHUNKSIZE 100
int main()
{
char *string;
int i=0,c;
string=malloc(sizeof(char)*CHUNKSIZE+1);
if(string==NULL)
{
printf("out of memory");
return 1;
}
while((c=getchar())!=EOF)
{
string[i]=c;
i++;
if(i%CHUNKSIZE==0)
{
string=realloc(string,sizeof(char)*CHUNKSIZE*(i/CHUNKSIZE+1)+1);
if(string==NULL)
{
printf("out of memory");
return 1;
}
}
}
printf("\n\norgin string is:\n%s\n",string);
free(string);
return 0;
}
输入任意长度字符串,CTRL+D结束输入
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询