在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è)字符串占一行。