目次から探す
scanf関数を使ったdouble型変数への入力方法
C言語では、scanf関数
を使ってユーザーからの入力を受け取ることができます。
double型
の変数に対しても、scanf関数
を使用することで値を入力することができます。
#include <stdio.h>
int main() {
double num;
printf("数値を入力してください: ");
scanf("%lf", &num);
printf("入力された数値は %lf です\n", num);
return 0;
}
上記のコードでは、double型
の変数num
に対してscanf関数
を使って値を入力しています。
%lf
は、double型
の値を入力するためのフォーマット指定子です。
入力された値は&num
を使って変数に格納されます。
入力時の注意点
入力値の範囲について
double型
は浮動小数点数を表すため、非常に広い範囲の値を扱うことができます。
しかし、入力時には値の範囲に注意する必要があります。
例えば、以下のようなコードを考えてみましょう。
#include <stdio.h>
int main() {
double num;
printf("数値を入力してください: ");
scanf("%lf", &num);
if (num > 100.0) {
printf("入力された数値は100より大きいです\n");
} else {
printf("入力された数値は100以下です\n");
}
return 0;
}
このコードでは、入力された値が100より大きいかどうかを判定しています。
入力された値がdouble型
の範囲を超える場合、予期しない結果が得られる可能性があります。
そのため、入力時には値の範囲に注意し、適切な制約を設ける必要があります。
入力エラーの処理について
scanf関数
は、入力値の型がフォーマット指定子と一致しない場合や、入力エラーが発生した場合にエラーを返します。
これにより、入力エラーが発生した場合に適切な処理を行うことができます。
以下のコードを考えてみましょう。
#include <stdio.h>
int main() {
double num;
printf("数値を入力してください: ");
if (scanf("%lf", &num) != 1) {
printf("入力エラーが発生しました\n");
return 1;
}
printf("入力された数値は %lf です\n", num);
return 0;
}
このコードでは、scanf関数
の戻り値をチェックしています。
戻り値が1でない場合、つまり入力エラーが発生した場合にはエラーメッセージを表示し、プログラムを終了しています。
入力時の注意点として、入力エラーの処理を適切に行うことが重要です。
ユーザーが予期しない入力を行った場合にも、プログラムが正しく動作するようにするためです。
適切な入力制約やエラー処理を行うことで、安全かつ正確な入力を実現することができます。