在C語(yǔ)言中,要一次性輸入多行字符串,可以使用循環(huán)結(jié)構(gòu)和數(shù)組來(lái)實(shí)現(xiàn)。
下面是一個(gè)示例代碼,可以實(shí)現(xiàn)一次性輸入多行字符串,并將其存儲(chǔ)到一個(gè)二維數(shù)組中:
#include <stdio.h>
#define MAX_LINES 100
#define MAX_LENGTH 100
int main() {
char strings[MAX_LINES][MAX_LENGTH];
int i;
printf("請(qǐng)輸入多行字符串(以空行結(jié)束):\n");
// 使用循環(huán)逐行讀取字符串
for (i = 0; i < MAX_LINES; i++) {
if (fgets(strings[i], MAX_LENGTH, stdin) == NULL || strings[i][0] == '\n') {
break;
}
}
printf("輸入的多行字符串為:\n");
// 使用循環(huán)逐行輸出字符串
for (int j = 0; j < i; j++) {
printf("%s", strings[j]);
}
return 0;
}
在上面的代碼中,我們首先定義了一個(gè)二維數(shù)組strings
,用于存儲(chǔ)多行字符串。MAX_LINES
和MAX_LENGTH
分別表示最大行數(shù)和每行最大長(zhǎng)度,可以根據(jù)實(shí)際需求進(jìn)行調(diào)整。
接下來(lái),使用fgets
函數(shù)逐行讀取字符串,循環(huán)條件為字符串不為空或者遇到空行。如果超過(guò)最大行數(shù)或者遇到空行,則跳出循環(huán)。
最后,使用循環(huán)輸出已輸入的多行字符串,直到達(dá)到實(shí)際輸入的行數(shù)。
請(qǐng)注意,上述代碼僅提供了一種實(shí)現(xiàn)方式,你可以根據(jù)自己的需求進(jìn)行修改和拓展。