• 欢迎访问C语言网www.dotcpp.com 比赛栏每月有奖月赛!举办比赛联系QQ:2045302297
  • 问题反馈、粉丝交流 QQ群327452739 蓝桥杯训练群:113766799 申请群时请备注排名里的昵称
  • C语言研究中心 为您提供有图、有料、解渴的C语言专题! 欢迎讨论!

scanf专题:你可能不知道的scanf的用法

C语言研究中心 CTO 3628次浏览 0个评论

上一篇讲解了printf的一些高级用法,不知道大家有没有学到东西,相应的,这篇该为大家介绍对应的输入函数scanf的一些功能了!

 

 

scanf作为C语言标准函数库中的格式化输入函数,大家对它常规的使用应该都很明白,

 

接收控制的格式除了常用的%d,%c,%f等以外, 我们今天重点讲解*在scanf中的用法和scanf的返回值的用法两点。

 

 

第一个,%*的用法,表示接收读取但不存对应的指定的类型数据。举个例子:

int a,b;

scanf(“%d%*c%d”,&a,&b);  大家在输入1,2或者1/2时就都可以将1赋给a,2赋给b了。而中间的字符虽然接收但不用存储,完美的解决用户再输出两个数字时可能有分隔的问题。!

怎么样呢,大家根据情况该用就用!

 

第二个,scanf函数返回值的用法。这一用法在ACM竞赛当中尤为普遍,也是ACM入门的必学内容。

scanf与printf一样,同为函数,那么也有对应的返回值为int类型。声明情况如下图:

scanf专题:你可能不知道的scanf的用法

scanf的返回值作用是表示成功接收对象的个数,比如如下代码,注意scanf接受情况对比结果:

 

1>两个整数正常输入

 

scanf专题:你可能不知道的scanf的用法

 

2>两个整数非正常输入

 

scanf专题:你可能不知道的scanf的用法

 

3>两个整数带%*分隔正常输入

 

scanf专题:你可能不知道的scanf的用法

 

请大家注意以上三种情况的输入对应的返回值情况,大家自行分析理解,来理解scanf的返回值和*的作用!

 

ACM输入输出入门有兴趣大家可以参考训练场(ACM/NOI)基本输入输出教程

 

 

祝大家学习愉快!

 

 

C语言研究中心(www.dotcpp.com)


C语言网, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明scanf专题:你可能不知道的scanf的用法
喜欢 (30)
[jinyangH@aliyun.com]
分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)