存在:#include
声明: int scanf(const char * format,);
scanf("",x); ""中可填入 %【*】【width]【modifier]type
(1)[*]:
详情请看(C语言各种小知识(1));
(2)type
1:i 接受各种形式的输入,如果要输入8进制 给输入前面加0 如果要输入16进制给输入前面加0x;
2:d 接受以10 进制形式输入有符号整数;
3:o,u,x 以8,10,16进制输入unsiged整数;
4:a,A,e,E,f,F,g,G 可以以指数形式输入;
5:c 接受输入字符;
6:s 接受输入字符串。记住不要越界,在输入的时候%后面加上限制;
7:【】 接受输入字符串,%【x】输入的的每个字符串都是x的内容,可乱序。注意不要 越界;
8:p 接受以16进制输入地址或者指针类型的数据;
9:n 用来记录读到当前位置时已经记录的数据。之做记录不在scanf中生其他的效用;
(3)【modifier】:
1:hh 用在d,i 输入char signed char;
用在o,u,x输入 unsigned char;
用在 n输入char signed char unsigned char;
2:h 用在d,i 输入short int ;
用在 o,u,x输入 unsigned short int ;
用在n输入short int unsigned short int;
3:l(L的小写) 用在d,i,o,u,x,X或n 用来接受 long int unsigned long int;
其中d,i适用于long int ;
其中o,u,x,X适用于ungined long int;
其中n适用于long int unsigned long int;
如果是a,e,g,f则表示 用来接受输入double型数据;
4:ll(L的小写)
用在d,i,o,u,x,X或n 用来接受 long long int unsigned long long int;
其中d,i适用于long long int ;
其中o,u,x,X适用于ungined long long int;
其中n适用于long int unsigned long long int;
5:L
如果是a,e,g,f则表示 用来接受输入long double型数据;
scanf 不能读取回车符与换行符;