#include <stdio.h>
int scanf(const char *format [,argument list])
format : フォーマット
argument : 引数(変数のアドレス等のリスト)
format は,
1)空白文字(空白( '' ),タブ( '\t' ),または,改行( '\n' )):
次に空白文字以外の文字が現れるまで入力データ中の空白文字を読
み込みますが,格納は行いません.
2)% 記号以外の非空白文字:
一致する空白文字を読み込みますが,格納は行いません.
3)% 記号に続くフォーマット指定:
入力データ内の文字を読み込んで,指定された型に変換し,対応す
る引数の示す位置に格納されます.
の 3 つから構成されます.
フォーマット指定は,常に % 記号で始まり,一般的には次のような形をして
います.
%[*][width][{h|l|ll|L}]type
例えば,
%10d
は,10 桁以下の整数を入力するための指定です.
type は必須の項目で,入力するデータが文字か,数値か等を決定します.
以下に示すような種類があります.
文字 引数の型 想定する入力の型
d int へのポインタ 10 進整数
o int へのポインタ 8 進整数
x int へのポインタ 16 進整数
i int へのポインタ 8, 10, 16 進整数
u unsigned int へのポインタ 符号無し 10 進整数
U unsigned long へのポインタ 符号無し 10 進整数
e,E,f float へのポインタ 浮動小数点値
g,G
c char へのポインタ 1 個の文字
s 文字配列へのポインタ 文字列
* を指定すると,次のデータは指定された型のデータとして解釈されますが,
引数には代入されません.
width は,入力する最大文字数を指定します.
h,l, ll,L は,以下のように,引数のサイズを規定します
h 引数が short int であることを示します
l 引数が,long int または double であることを示します
ll 引数が,long long int であることを示します
L 引数が,long double であることを示します
#include <stdio.h>
int main()
{
double x;
int i;
char ch;
char str[81];
printf("整数,浮動小数点数,文字,及び,文字列を入力してください\n");
scanf("%d %lf %c %s", &i, &x, &ch, str);
printf("読み込まれたデータは\n");
printf(" %d %f %c %s\n", i, x, ch, str);
return 0;
}
12 10.23 h This is a test
12 10.23 h This is a test
読み込まれたデータは
12 10.230000 h This
| 菅沼ホーム | 本文目次 | 演習問題解答例 | 付録目次 | 索引 |