パソコン日記

気づいたこと まとめてみる

C言語をやってみる(scanfを使ってみる)

数値や文字列を入力する

C言語でプログラムを実行したのち、コンソールから数値や文字列を入力する方法はいくつかあると思います。今回はscanfを使って数値や文字列をコンソールから受け取るプログラムを試してみたいと思います。

scanfで整数の入力

#include <stdio.h>

int main(void) {
    int d;
    printf("数字を入力してください ");
    scanf("%d",&d);
    printf("%dを入力しました\n",d);
    return 0;
}

これを実行し、数字を入力すると入力された数字が表示されました。 scanfでははじめの引数で、どのような入力を受け取るのか指定します。整数型の場合は%dです。これは文字列を表示するときと同じです。

scanfで小数(float型)の入力

scanfで小数を受け取りたいときは以下の通りになります。

#include <stdio.h>

int main(void) {
    float f;
    printf("数字を入力してください ");
    scanf("%f",&f);
    printf("%fを入力しました\n",f);
    return 0;
}

整数型の%dで指定していたところが、float型の%fになっただけです。

scanfで文字列の入力

文字列を受け取りたいときは次のようになります。

#include <stdio.h>

int main(void) {
    char s[50];
    printf("文字列を入力してください ");
    scanf("%s",s);
    printf("%sを入力しました\n",s);
    return 0;
}

文字列を入力する場合は、数値のときと違い、まずchar型の配列を宣言します。その後、その配列に入力を代入するようscanfを実行します。また、文字列の場合には"&“がなくsのみです。これはポインタが関わってきますので、気が向いたら説明したいと思います。