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 にあります。