標準入力

[ つぎ | うえ ]

scanf 関数

printf 関数とは逆に、キーボードから値を入力するために使う関数は、scanf 関数です。

# include <stdio.h>
int main()
{
    int d;
    scanf("%d",&d);
    printf("input > %d\n",d);
    return 0;
}

この関数呼出しを使うことにより、プログラムの実行時にさまざまな値を入力することができます。上の例では、%d という変換文字(d 変換)用いました。この変換文字は、printf 関数と(ほぼ)同様です。& 記号は、変数 d の先頭番地を示す記号ですが、ポインタの章で説明します。


その他の変換仕様

scanf 関数も printf 関数と同様に、さまざまな変換仕様を使うことができます。

変換文字 入力値 変換文字 入力値
d 10進数定数 x,X 16進数定数
o 8進数定数 u 符号なし10進数定数
f 固定小数点定数 e 浮動小数点定数
g 固定/浮動小数点定数 c 文字定数
s 文字列定数

整数値定数、文字定数の入力

# include <stdio.h>
int main( )
{
    int i, c;
    printf( "hexadecimal number: ");
    scanf( "%x", &i );
    printf( "character: " );
    scanf( "%c", &c );
    printf( "i = %d c = %c\n", i, c );
    return 0;
}

教科書の p.65 にあります。


[ つぎ | うえ ]
yasu@i.hosei.ac.jp