上一篇讲解了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接受情况对比结果:
1>两个整数正常输入
2>两个整数非正常输入
3>两个整数带%*分隔正常输入
请大家注意以上三种情况的输入对应的返回值情况,大家自行分析理解,来理解scanf的返回值和*的作用!
ACM输入输出入门有兴趣大家可以参考训练场(ACM/NOI)基本输入输出教程
祝大家学习愉快!
C语言研究中心(www.dotcpp.com)