No.14 scanf関数について
今回は、C言語の条件分岐(switch文)について解説します。
前回の記事をまだ見ていない方は、下記のリンクからぜひ見てください。
前回の記事を見てからこの記事を見ると理解しやすいです。↓
また、わからない点があればぜひコメントお願いします。
わかりやすいように更新させていただきます。
scanf関数について
scanf関数は、入力を変数に代入する機能を持つ関数です。
変数を出力する printf関数とは真逆の関数です。
scanf関数では printf関数と同じく、書式指定子を使います。
scanf関数の使い方
ここからは、scanf関数の使い方について解説していきます。
scanf関数は次のように書くことで使えます。↓
scanf("入力するものに対応した書式指定子",&+入力を代入する変数の名前);
書式指定子は、printf関数同様 " " の間に書きます。
また、入力を代入する変数の名前には & を前につける必要があります。
しかし、文字列の入力の場合だけはいりません。
理由については、難しいので後々の回で解説します。
例
このプログラムは、入力された整数を出力するものです。↓
#include <stdio.h>
int main() {
int number;
printf("整数を入力してください: ");
scanf("%d", &number);
printf("入力された整数は: %d\n", number);
return 0;
}
プログラムを見ると、変数名の前に &(アンパサンド) がついているのがわかると思います。
& をつけないとエラーになるので必ずつけましょう。
複数の入力
scanf関数では複数の入力も可能です。↓
#include <stdio.h>
int main() {
int num1, num2;
float fnum;
printf("2つの整数と1つの浮動小数点数を入力してください");
scanf("%d %d %f", &num1, &num2, &fnum);
printf("入力された整数は: %d と %d\n", num1, num2);
printf("入力された浮動小数点数は: %.2f\n", fnum);
return 0;
}
このように、複数の入力では書式指定子はスペースで区切ることが一般的です。
また、入力を代入する変数の名前は1つずつ & をつけカンマで区切りましょう。
問題
2つの整数を入力してもらい合計を出力するプログラムを作りなさい。
回答例
#include <stdio.h>
int main() {
int num1, num2;
printf("2つの整数を入力してください (例: 3 5): ");
scanf("%d %d", &num1, &num2);
int sum = num1 + num2;
printf("合計は: %d\n", sum);
return 0;
}
解説
scanf関数で入力された関数を int 型の変数 num1、num2 に代入します。
int 型の変数 sum に num1とnum2の合計を代入します。
printf関数で変数 sum を出力します。
今回は以上です。