在C语言中,要一次性输入多行字符串,可以使用循环结构和数组来实现。
下面是一个示例代码,可以实现一次性输入多行字符串,并将其存储到一个二维数组中:
#include <stdio.h>
#define MAX_LINES 100
#define MAX_LENGTH 100
int main() {
char strings[MAX_LINES][MAX_LENGTH];
int i;
printf("请输入多行字符串(以空行结束):\n");
// 使用循环逐行读取字符串
for (i = 0; i < MAX_LINES; i++) {
if (fgets(strings[i], MAX_LENGTH, stdin) == NULL || strings[i][0] == '\n') {
break;
}
}
printf("输入的多行字符串为:\n");
// 使用循环逐行输出字符串
for (int j = 0; j < i; j++) {
printf("%s", strings[j]);
}
return 0;
}
在上面的代码中,我们首先定义了一个二维数组strings
,用于存储多行字符串。MAX_LINES
和MAX_LENGTH
分别表示最大行数和每行最大长度,可以根据实际需求进行调整。
接下来,使用fgets
函数逐行读取字符串,循环条件为字符串不为空或者遇到空行。如果超过最大行数或者遇到空行,则跳出循环。
最后,使用循环输出已输入的多行字符串,直到达到实际输入的行数。
请注意,上述代码仅提供了一种实现方式,你可以根据自己的需求进行修改和拓展。