c語(yǔ)言中如何輸入多串字符串

小億
471
2023-11-06 11:16:41

在C語(yǔ)言中,可以使用字符數(shù)組來(lái)存儲(chǔ)多個(gè)字符串??梢允褂醚h(huán)來(lái)輸入多個(gè)字符串,每次輸入一個(gè)字符串后,將其存儲(chǔ)到字符數(shù)組中。

下面是一個(gè)示例代碼:

#include <stdio.h>

#define MAX_LENGTH 100  // 字符串的最大長(zhǎng)度
#define MAX_STRINGS 10  // 最多輸入的字符串個(gè)數(shù)

int main() {
    char strings[MAX_STRINGS][MAX_LENGTH];  // 定義一個(gè)二維字符數(shù)組,用于存儲(chǔ)多個(gè)字符串
    int numStrings;  // 輸入的字符串個(gè)數(shù)

    printf("請(qǐng)輸入字符串的個(gè)數(shù):");
    scanf("%d", &numStrings);

    // 清空緩沖區(qū)
    while (getchar() != '\n');

    printf("請(qǐng)輸入 %d 個(gè)字符串:\n", numStrings);
    for (int i = 0; i < numStrings; i++) {
        printf("請(qǐng)輸入第 %d 個(gè)字符串:", i + 1);
        fgets(strings[i], MAX_LENGTH, stdin);

        // 去掉末尾的換行符
        int len = strlen(strings[i]);
        if (strings[i][len - 1] == '\n') {
            strings[i][len - 1] = '\0';
        }
    }

    printf("輸入的字符串為:\n");
    for (int i = 0; i < numStrings; i++) {
        printf("%s\n", strings[i]);
    }

    return 0;
}

以上代碼中,通過(guò)定義一個(gè)二維字符數(shù)組strings來(lái)存儲(chǔ)多個(gè)字符串。首先輸入字符串的個(gè)數(shù),然后使用fgets函數(shù)來(lái)逐個(gè)輸入字符串,并通過(guò)循環(huán)輸出輸入的字符串。注意使用fgets函數(shù)可以避免輸入中的空格被忽略。同時(shí),使用strlen函數(shù)獲取字符串的長(zhǎng)度,并判斷末尾是否為換行符,如果是則將其替換為字符串結(jié)束符\0。最后,通過(guò)循環(huán)輸出輸入的字符串。

請(qǐng)注意,在輸入多個(gè)字符串時(shí),需要按照指定的格式輸入,每個(gè)字符串占一行。

0