C言語で一度に複数行の文字列を入力する方法
C 言語で複数行の文字列を一度に入力するには、ループ構造と配列を使用して実現できます。
複数行の文字列を一度に入力して、2次元の配列に格納するサンプルコードを以下に示します。
#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;
}
上記のコードでは、まず多行文字列を格納するための二次元配列文字列を定義しています。MAX_LINES と MAX_LENGTH は、それぞれ最大行数と一行あたりの最大文字数を表し、実際の必要に応じて調整できます。
次に、fgets 関数を使用して、1 行ずつ文字列を読み取し、文字列が空でない場合または空行の場合はループ条件をループから抜け出させ、最大行数を超えた場合または空行の場合はループから抜け出す。
最後に、真の入力行数に達するまで、入力した複数行文字列をループで出力します。
紹介したコードはあくまでも一例なので、必要に応じて修正・発展させてください。