当前位置:首页 > 生活百科

scanf的返回值怎么输出(分享scanf函数返回值操作方法)

栏目:生活百科日期:2025-05-16浏览:0

输入输出几乎是每个C程序必须具备的功能,因为有了它们,程序才有了交互性。C提供的输入输出函数除了具有必须的输入输出功能外,还有一些其他实用的小技巧,了解这些小技巧将会为程序带来更友好的用户体验。

一、printf字段宽度、精度修饰符

当我们要输出类似表格形式的样式时,我们会用到字段宽度修饰符。它能够让printf函数的输出更加规整。我们先看下面的程序:

没有对齐的输出

程序定义了一个容纳20个数字的数组,然后利用两个for循环将20个数字以四行五列的格式进行输出,虽然我们在printf的格式说明符%d的前面已经敲了一个空格,防止了数据紧密地挨着,但是,很难看出这是一个四行五列的格式。这里我们就需要字段宽度修饰符,请看下面修改之后的程序:

对齐的输出

可以看到,在%d之间加上字段宽度修饰符,我们的输出变得好看多了,那么,为什么是7呢?因为7代表着输出占用7个宽度的字段,而我们的数字最宽只有6个,所以7就足够让数据分隔开了。默认是按照右对齐的方式排列的,如果想要左对齐,那么只需要再加一个左对齐的标志“-”即可,如下图:

左对齐

加了左对齐的标志之后,程序输出就变得非常友好了。这是字段宽度修饰符的作用,字段精度修饰符用于输出小数时的格式化。比如限制小数位数、指定小数以科学计数法显示等。如下图:

精度修饰符

从输出来看,第一行是默认输出格式,可以看到默认带有6个小数位;第二行加了.2精度修饰符,限制了小数位为2位,可以看到输出2位小数,并且按照四舍五入进行输出;第三行加了“+”号标志,它能显示变量的正负号,我们定义的变量是正数,所以显示了一个加号,当然了,如果是负数,默认也是输出负号的;第四行以科学计数法进行输出,指数部分默认是以三位显示,不足三位用0补齐;第四行是限制小数位数的输出。

二、scanf修饰符限制输入位数

在scanf中添加字段宽度修饰符可以限制用户输入的数据宽度,即使用户输入的宽度超过需求,scanf也只会读取指定宽度的数据,请看下面的程序:

不带有字段宽度修饰符的程序

可以看到即使用户输入四位数,程序也将按照四位进行读取,不利于程序的稳定运行,但是只要在%d之间加上字段宽度修饰符,不管你输入几位,scanf将只读取前两位数:

带有字段宽度修饰符的程序

加上一个提示和小小的修饰符就能够使得程序更加友好,不用复杂的验证代码,非常有利于简单程序的验证,减小程序体积,提高程序运行效率。这里要注意中文的读取,一个中文占用两个字节位置,所以要限制读取两个中文,要指定宽度修饰符为4,如果是3将只读取一个中文。

三、printf、scanf函数的返回值

有没有想过你经常使用的输入输出函数的返回值问题呢?其实它们都是有返回值的。printf函数返回输出的字节个数,scanf返回成功读取项目的个数,如下图:

两者的返回值程序

可以看出,printf返回了7个中文占用的字节数14,scanf返回了读取成功的项目数2。

“scanf的返回值怎么输出(分享scanf函数返回值操作方法)” 的相关文章

oracle配置文件在哪(oracle安装步骤详细)

简介:通过openfiler软件模拟共享存储,然后在本地安装Oracle12CRAC方便自己学习!真实还原在生产环境上安装的过程.规划说明:本次实验使用VM+O...

优盘修复dos命令(电脑u盘修复工具使用)

U盘坏了不要扔,简单输入2个命令,轻松帮你修复,U盘损坏如何恢复,很多人在U盘发生损坏的情况下,将U盘扔掉,其实不用这么着急丢掉,今天教大家输入2个命令,轻松帮...

windows优化大师的功能(大幅度清理c盘的技巧)

在用软件听完英语听力之后,返回文件夹就发现英语软件文件夹图标变成黑色的了,而且现在我电脑上的其他很多系统文件图标变成了黑色的小方块,主要在C盘,无法正常显示,也...

华为nova2参数配置详情(深入解剖华为nova2手机)

5月26日,华为在长沙举办了以“高颜值、爱自拍”为主题的新品发布会,正式发布了HUAWEInova系列的最新产品——nova2、nova2Plus。HUAWEI...

ASICS跑鞋评测(推荐一款公认脚感最舒服的跑鞋)

适合自己的鞋才是好鞋,这双鞋真的很可能适合你穿。这年头,许多运动品牌都向高端跑者推出了适合他们的竞速跑鞋,却忽略了初跑者,尤其是从半马向全马过渡的中级跑者的需求...

企业策划书范文案例分析,策划书的要点及目标说明

好酒也怕巷子深,几乎所有类别的中小型企业都需要借助网络营销策划来提升品牌曝光度,提升产品销售量,提升服务达成率。怎么做网络营销策划,如何做好网络营销策划?以下是...

java学习哪个学校好(培训Java的应该如何选择)

不要培训!不要培训!不要培训!重要的事情说三遍。一直以来我都能接到很多私信问哪个Java培训班靠谱,面对这样的私信我往往不知道如何回答,因为要说的东西实在太多,...

7z解压工具怎么解压(手机解压缩工具推荐)

系统装好之后就是装病毒防火墙,防火墙装了之后就要涉及到文件的解压。这时候一个好的压缩软件就尤为重要。今天就和大家谈谈压缩软件老牌压缩软件——WinRARWinR...

python的str方法(讲解python中的str函数用法)

最早的字符串编码是美国标准信息交换码,即ASCII码,他仅对10个数字,26个大写英文字母、26个小写英文字母及一些其他符号进行了编码。ASCII码最多只能表示...

java基础入门知识点(java编程自学教程)

不积跬步无以至千里,基础对于Java学习者来说也至关重要,基础打好了才能在这个行业走的更远!那在学习Java的过程中,初学者要不断提升自己的能力,当你有了能力,...