c语言怎么输入未知长度的字符串

   2024-11-04 6200
核心提示:在C语言中,可以使用动态内存分配函数malloc()和realloc()来输入未知长度的字符串。首先,可以使用malloc()函数来分配一个初始大

在C语言中,可以使用动态内存分配函数malloc()realloc()来输入未知长度的字符串。首先,可以使用malloc()函数来分配一个初始大小的内存空间来存储字符串,然后使用realloc()函数来根据需要调整内存空间的大小。

以下是一个示例代码:

#include <stdio.h>#include <stdlib.h>#include <string.h>int main() {    char *input = (char *)malloc(100); // 初始分配100个字节的内存空间    char *temp;    int len = 0;        if (input == NULL) {        printf("内存分配失败\n");        return 1;    }        printf("请输入字符串:\n");    while(1) {        if (len >= 100) {            // 调整内存空间大小            temp = (char *)realloc(input, len + 10);            if (temp == NULL) {                printf("内存分配失败\n");                free(input);                return 1;            } else {                input = temp;            }        }        // 逐字符读取输入        input[len] = getchar();                if (input[len] == '\n') {            input[len] = '\0';            break;        }                len++;    }    printf("输入的字符串为:%s\n", input);    free(input);        return 0;}

在这个示例代码中,首先使用malloc()函数分配了一个初始大小为100字节的内存空间来存储字符串。然后在一个循环中逐字符读取输入的字符串,并根据需要使用realloc()函数调整内存空间的大小。当输入结束时,打印出输入的字符串并释放内存空间。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号