C言語で連続して文字列を入力する方法は何ですか?
C言語では、scanf関数を使用して、連続した文字列を入力することができます。以下は一例です:
#include <stdio.h>
#define MAX_SIZE 100
int main() {
char str[MAX_SIZE];
int i, n;
printf("请输入要输入的字符串个数:");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("请输入字符串%d:", i + 1);
scanf("%s", str);
printf("你输入的字符串%d为:%s\n", i + 1, str);
}
return 0;
}
コード内では、最初にscanf関数を使用して入力される文字列の数を取得します。その後、forループを使用して連続して文字列を入力し、各文字列を入力した後にその文字列を出力します。注意すべき点は、scanf関数が文字列を読み取る際に空白、タブ、改行を区切りとして扱うため、入力された文字列に空白が含まれている場合、空白の前までの部分の文字列しか読み取れないことです。
さらに、設定された最大長を超えないように、十分に大きな文字配列を定義して、その配列を使用して文字列を読み取る%sフォーマット指定子を利用することで、入力された文字列が確実に最大長を超えないことを確保することができます。