编写一个linux C语言程序 接受输入一个任意长度的字符串并输出(使用malloc和realloc函数)

编写一个linuxC语言程序接受输入一个任意长度的字符串并输出(使用malloc和realloc函数)... 编写一个linux C语言程序 接受输入一个任意长度的字符串并输出(使用malloc和realloc函数) 展开
 我来答
albumin
2015-06-24 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2342万
展开全部
#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结束输入

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式