成都网站建设设计

将想法与焦点和您一起共享

c语言怎么输入多行字符串数组中

在C语言中,可以使用以下方法输入多行字符串数组:

1、使用fgets()函数逐个读取每一行的字符串。

2、使用循环结构逐行读取字符串,并将其存储到字符数组中。

下面是一个示例代码,演示了如何输入多行字符串数组:

#include 
int main() {
    int numLines; // 用于记录要输入的行数
    printf("请输入要输入的行数:");
    scanf("%d", &numLines); // 读取要输入的行数
    char stringArray = (char)malloc(numLines * sizeof(char*)); // 动态分配内存来存储字符串数组
    for (int i = 0; i < numLines; i++) {
        stringArray[i] = (char*)malloc((100 + 1) * sizeof(char)); // 为每行字符串分配内存空间(假设最大长度为100)
    }
    // 逐个读取每一行的字符串并存储到字符数组中
    for (int i = 0; i < numLines; i++) {
        printf("请输入第%d行的字符串:", i + 1);
        fgets(stringArray[i], 100, stdin); // 使用fgets()函数读取一行字符串,并将其存储到字符数组中
        stringArray[i][strcspn(stringArray[i], "
")] = ''; // 去除换行符
    }
    // 打印输出字符串数组中的每个元素
    for (int i = 0; i < numLines; i++) {
        printf("第%d行的字符串是:%s
", i + 1, stringArray[i]);
        free(stringArray[i]); // 释放每行字符串所占用的内存空间
    }
    free(stringArray); // 释放整个字符串数组所占用的内存空间
    return 0;
}

上述代码首先通过scanf()函数获取用户要输入的行数,然后动态分配内存来存储字符串数组,接下来,使用循环结构逐个读取每一行的字符串,并使用fgets()函数将其存储到字符数组中,打印输出字符串数组中的每个元素,并释放所占用的内存空间。


当前标题:c语言怎么输入多行字符串数组中
文章位置:https://chengdu.cdxwcx.cn/article/cdiissc.html