ユーザーから値を受け取る「scanf関数」とは?初心者向けにやさしく解説!
C言語でユーザーからデータを入力したいときに使うのが「scanf関数」です。
数値や文字列などをキーボードから読み取るための関数として、printf
とセットで覚えるのが基本です。
scanf関数とは?
scanf関数は、キーボードからの入力を受け取り、指定した変数に保存する関数です。
書式指定子(%〇)を使って、入力されるデータの型を指定します。
基本的な使い方
#include <stdio.h>
int main(void) {
int age;
printf("年齢を入力してください:");
scanf("%d", &age);
printf("あなたの年齢は %d 歳です。\n", age);
return 0;
}
ポイントは、変数の前に &
(アドレス演算子)をつけることです。
これは「この変数の場所に値を入れてください」という意味になります。
主な書式指定子
指定子 |
意味 |
例 |
%d |
整数(int) |
scanf("%d", &num); |
%f |
小数(float) |
scanf("%f", &height); |
%c |
1文字(char) |
scanf(" %c", &ch); ※前にスペースを入れると安全 |
%s |
文字列(char配列) |
scanf("%s", name); (&は不要) |
scanfの注意点
&
を忘れるとコンパイルエラーになります(char配列は例外)
- 複数の入力を一度に読み取ることも可能(例:
scanf("%d %d", &a, &b);
)
- 改行やスペースによる入力の切れ目に注意
- 入力ミスへの対処は自分で書く必要がある
まとめ
scanf関数は、ユーザーの入力を受け取るための標準関数であり、printf
と対になる存在です。
書式指定子とアドレス演算子(&)をしっかり覚えて、実際に手を動かしてみることが理解への近道です!