C言語でscanf関数は入力を取得するために使用されます。
scanf関数は、標準入力装置(通常はキーボード)から入力を読み込み、フォーマット文字列で指定された形式に合わせて入力されたデータを対応するデータ型に変換し、指定された変数に格納する。
scanf関数は、ユーザーから入力を受け取るとともに、整数、浮動小数点、文字などの異なる型のデータをよみこみ、それぞれの変数に格納することができます。書式制御文字を使用して(例:整数は「%d」、浮動小数点は「%f」、文字は「%c」など)scanfは入力のデータ型を区別し、それぞれに対応する変換を行います。
例えば、下記のコードスニペットは scanf 関数を使用してユーザーから整数を入力させ、num 変数に格納します。
int num;
scanf("%d", &num);
この例では、「%d」は整数を読み込むことを示し、「&num」は読み込んだ整数を変数numのアドレスに格納することを示しています。
scanf関数は空白(スペース、タブ、改行など)を読み込むと読み込みを終了してしまうため、連続した文字列を読み込む場合は適切な書式文字列を利用する必要があります。
また、scanf関数は文字列、配列といった、より複雑なタイプのデータの読み込み、処理もできます。ただし、scanf関数が文字列を処理する際は、バッファオーバーフローの問題に注意する必要があります。たとえば、”%s”書式指定子を使用して最大文字数を指定するなど、安全な読み取り方法を使用する必要があります。
全体として、scanf関数は、利用者の入力を簡単に読み取り、その入力データを適正なデータ型に変換し、それによってプログラムは後々の処理や計算のためにそれを行うことができます。