您的位置:首页 > 其它

scanf()函数用法小结

2016-03-31 15:43 225 查看
scanf()函数是格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。

其调用格式为:      scanf("<格式化字符串>",<地址表>);


格式化字符串包括以下三类不同的字符:

< 1 >格式化说明符

格式字符                                           说明

%d                                              从键盘输入十进制整数

%o                                             从键盘输入八进制整数

%x                                             从键盘输入十六进制整数

%c                                             从键盘输入一个字符

%s                                              从键盘输入一个字符串

%f                                             从键盘输入一个实数

%e                                             与%f的作用相同

附加格式说明字符表                                         
字符                                           说明

L                                            输入"长"数据

H                                           输入"短"数据

M                                           指定输入数据所占宽度

*                                           空读一个数据

< 2 > 空白字符: 空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。

< 3 > 非空白字符: 一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。

另重点:

( 1 ) ”%s”,遇到空格换行等转义字符不读入

       “%c”输入时,scanf不仅会读入非空字符,遇到空字符他也会读入

( 2 ) 控制字符 说明

%c 一个单一的字符 

%d 一个十进制整数 

%i 一个整数 

%e, %f, %g 一个浮点数 

%o 一个八进制数 

%s 一个字符串 

%x 一个十六进制数 

%p 一个指针 

%n 一个等于读取字符数量的整数 

%u 一个无符号整数 

%[] 一个字符集 

%% 一个精度符号

getchar()则是必定读一个字符且无论是什么字符

scanf("%*c")是读一个字符但不存储

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=96

scanf 格式中,如果在%后面、格式字符前面加上一个“*”附加说明符,表示跳过该输入,输入的数据不放入变量中。

%* c  表示忽略掉一个字符型输入项

#include<stdio.h>
int main()
{
int t,n;
scanf("%d",&t);
while(t--){
scanf("\n%*c%d",&n);
printf("%d\n",n);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数 NYOJ