编写一个linux C语言程序 接受输入一个任意长度的字符串并输出(使用malloc和realloc函数)
发布网友
发布时间:2022-10-12 23:16
我来回答
共1个回答
热心网友
时间:2023-10-12 03:13
#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结束输入