C言語では、scanf関数を使用してユーザーからの入力を受け取ることができます。配列をscanfで受け取る場合は、以下のように書きます:
#include <stdio.h>
int main() {
int array[5];
printf("5つの整数を入力してください:\n");
for (int i = 0; i < 5; i++) {
scanf("%d", &array[i]);
}
printf("入力された値は次の通りです:\n");
for (int i = 0; i < 5; i++) {
printf("%d\n", array[i]);
}
return 0;
}
上記の例では、5つの整数を入力し、それらの値を配列に格納してから出力しています。
配列をscanfで受け取る際によく発生するエラーの一つは、配列のサイズを超えて入力しようとするというものです。例えば、上記のコードで配列のサイズを5と指定している場合に、6つ以上の値を入力するとエラーが発生します。このエラーを回避するためには、適切なサイズの配列を宣言し、入力回数を制限する必要があります。
また、scanf関数自体にもエラー処理を追加することが重要です。scanf関数は入力形式が期待通りでない場合や、エラーが発生した場合に-1を返します。これを利用して、正常に入力が行われたかどうかを確認することができます。
以下に、scanf関数のエラーチェックの例を示します:
#include <stdio.h>
int main() {
int num;
printf("整数を入力してください:\n");
if (scanf("%d", &num) != 1) {
printf("エラー: 正しい形式で整数を入力してください。\n");
return 1;
}
printf("入力された値は %d です。\n", num);
return 0;
}
上記の例では、scanf関数が1を返さない場合にエラーメッセージを表示しています。
以上がC言語で配列をscanfする方法とエラーの解決方法の一例です。応用的な使い方や他のデータ型についても同様の手順で扱うことができます。