この記事では、C言語において複数の変数に1つのscanf関数
で入力を行う方法について解説します。
複数の変数に1つのscanf関数で入力する方法
プログラミングにおいて、複数の変数に対してユーザーからの入力を受け取る必要がある場合、通常は変数ごとにscanf関数
を使用して入力を行います。
しかし、C言語では1つのscanf関数
で複数の変数に入力を受け取る方法もあります。
以下では、その方法について解説します。
方法1: スペース区切りで入力する方法
まず、最も簡単な方法として、スペース区切りで入力を行う方法があります。
例えば、整数型の変数a
とbに対して、スペース区切りで2つの値を入力したい場合、以下のようなコードを記述します。
#include <stdio.h>
int main() {
int a, b;
printf("2つの整数をスペース区切りで入力してください: ");
scanf("%d %d", &a, &b);
printf("入力された値: a = %d, b = %d\n", a, b);
return 0;
}
上記のコードでは、scanf("%d %d", &a, &b);
の部分で、2つの整数をスペース区切りで入力しています。
%d
は整数型のフォーマット指定子であり、&a
と&b
は変数a
とbのアドレスを指定しています。
方法2: 改行区切りで入力する方法
次に、改行区切りで入力を行う方法を紹介します。
この方法では、変数ごとに改行して入力を行います。
例えば、整数型の変数x
とyに対して、改行区切りで2つの値を入力したい場合、以下のようなコードを記述します。
#include <stdio.h>
int main() {
int x, y;
printf("2つの整数を改行区切りで入力してください:\n");
scanf("%d", &x);
scanf("%d", &y);
printf("入力された値: x = %d, y = %d\n", x, y);
return 0;
}
上記のコードでは、scanf("%d", &x);
とscanf("%d", &y);
の部分で、それぞれの変数に対して改行区切りで入力を行っています。
方法3: フォーマット指定子を使って入力する方法
最後に、フォーマット指定子を使って入力を行う方法を紹介します。
この方法では、変数ごとにフォーマット指定子を指定して入力を行います。
例えば、整数型の変数m
とnに対して、mには10進数、nには16進数で入力を行いたい場合、以下のようなコードを記述します。
#include <stdio.h>
int main() {
int m, n;
printf("10進数と16進数を入力してください: ");
scanf("%d %x", &m, &n);
printf("入力された値: m = %d, n = %d\n", m, n);
return 0;
}
上記のコードでは、%d
は10進数のフォーマット指定子、%x
は16進数のフォーマット指定子です。
それぞれの変数に対して適切なフォーマット指定子を指定して入力を行います。
以上が、複数の変数に1つのscanf関数
で入力を行う方法の解説です。
適切な方法を選択して、効率的な入力処理を行いましょう。
入力値が予期しない形式であった場合、予期せぬ結果が生じる可能性があります。
エラーチェックを適切に行い、安全なプログラムを作成しましょう。