この記事では、C言語で複数の文字列を入力する方法をわかりやすく解説します。
目次から探す
scanfで複数の文字列を入力する方法
C言語において、ユーザーから複数の文字列を入力する方法はいくつかあります。
ここでは、主な3つの方法を解説します。
方法1:スペース区切りで入力する
最も簡単な方法は、スペースで区切られた文字列を一度に入力する方法です。
以下にサンプルコードを示します。
#include <stdio.h>
int main() {
char str1[20];
char str2[20];
printf("2つの文字列をスペースで区切って入力してください: ");
scanf("%s %s", str1, str2);
printf("入力された文字列1: %s\n", str1);
printf("入力された文字列2: %s\n", str2);
return 0;
}
上記のコードでは、scanf関数
を使用して2つの文字列を入力しています。
%s
は文字列を受け取るためのフォーマット指定子です。
str1
とstr2
はそれぞれ入力された文字列を格納するための文字配列です。
方法2:改行区切りで入力する
次の方法は、改行で区切られた文字列を一つずつ入力する方法です。
以下にサンプルコードを示します。
#include <stdio.h>
int main() {
char str1[20];
char str2[20];
printf("1つ目の文字列を入力してください: ");
scanf("%s", str1);
printf("2つ目の文字列を入力してください: ");
scanf("%s", str2);
printf("入力された文字列1: %s\n", str1);
printf("入力された文字列2: %s\n", str2);
return 0;
}
上記のコードでは、scanf関数
を2回使用して、改行で区切られた文字列を一つずつ入力しています。
%s
は文字列を受け取るためのフォーマット指定子です。
str1
とstr2
はそれぞれ入力された文字列を格納するための文字配列です。
方法3:ループを使って複数回入力する
最後の方法は、ループを使用して複数回入力する方法です。
以下にサンプルコードを示します。
#include <stdio.h>
int main() {
int n;
printf("入力する文字列の数を入力してください: ");
scanf("%d", &n);
char str[20];
for (int i = 0; i < n; i++) {
printf("%d番目の文字列を入力してください: ", i+1);
scanf("%s", str);
printf("入力された文字列%d: %s\n", i+1, str);
}
return 0;
}
上記のコードでは、まず入力する文字列の数をユーザーに入力してもらいます。
その後、指定された数だけループを回し、文字列を入力して表示します。
%d
は整数を受け取るためのフォーマット指定子です。
str
は入力された文字列を格納するための文字配列です。
以上が、C言語で複数の文字列を入力する方法の解説です。
適切な方法を選んで、プログラムに組み込んでみてください。