[C语言教程]四、(3)scanf的用法

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(www.zengqiang.org
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/11417117.html 
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

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

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

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

1 int a,b;
2 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的返回值和*的作用!

原文地址:https://www.cnblogs.com/strengthen/p/11417117.html