赠百科 手机版
当前位置: 首页 > 常识 >

scanf用法教程(C程序设计语言“scanf”函数介绍)

1. scanf函数的一般形式:

scanf(格式控制,地址表列):

“格式控制”的含义同printf函数。“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。

2. scanf函数中的格式声明

与printf函数中的格式声明相似,以%开始,以一个格式字符结束,中间可以插入附加的字符。

例3.5中的scanf函数是比较简单的。可以把scanf函数改写成以下形式:

scanf( a=%f,b=%f,c=%f”,&a,&b,8c);

在格式字符串中除了有格式声明%f以外,还有一些普通字符(有“a=”“b=”“c=”和“,”)。

表3.8和表3.9列出scanf函数所用的格式字符和附加字符。它们的用法和printf函数中的用法差不多。



这两个表是为了备查用的,不必死记,并始时会用比较简单的形式输入数据即可

3.使用scanf函数时应注意的问题

(1) scanf函数中的格式控制后面应当是变量地址,而不是变量名。例如,若。和b为整型变量,如果写成

scanf(%f%f%f”,a,b,c);

是不对的。应将“a,b,c”改为“&.a,&.b,&c”。许多初学者常犯此错误。

(2)如果在格式控制字符串中除了格式声明以外还有其他字符,则在输入数据时在对应的位置上应输入与这些字符相同的字符。如果有

scanf( a=%f,b=%f,c=%f”,&a,&b,8c);

在输入数据时,应在对应的位置上输入同样的字符。即输入

a=1,b=3,c=2 (注意输入的内容)

如果输入

132

就错了。因为系统会把它和scanf函数中的格式字符串逐个字符对照检查的,只是在%f的位置上代以一个浮点数。

注意:在“a=1”的后面输入一个逗号,它与scanf函数中的“格式控制”中的运号对应。如果输入时不用逗号而用空格或其他字符是不对的。

(3)在用“%c”格式声明输入字符时,空格字符和“转义字符”中的字符都作为有效字符输入,例如:

scanf("%c%c%c",&.c1,&c2,&c3);

在执行此函数时应该连续输入3个字符,中间不要有空格。如:

abc✔ (字符间没有空格)

若在两个字符间插入空格就不对了。如:

a b c

系统会把第1个字符'a'送给cl;第2个字符是空格字符,送给c2;第3个字符‘b'送给c3。而并不是把'a’送给cl,把'b'送给c2,把'c'送给c3。

提示:输入数值时,在两个数值之间需要插入空格(或其他分隔符),以使系统能区分两个数值。在连续输入字符时,在两个字符之间不要插入空格或其他分隔符(除非在scanf函数中的格式字符串中有普通字符,这时在输入数据时要在原位置插入这些字符),系统能区分两个字符。

(4) 在输入数值数据时,如输入空格、回车、Tab键或遇非法字符(不属于数值的字符),认为该数据结束。例如:

scanf(”%d%c%f",&a,&b,&.c);

若输入

1234a 1230.26

ab c

第1个数据对应%d格式,在输入1234之后遇字符'a',因此系统认为数值1234后已没有数字了,第1个数据应到此结束,就把1234送给变量a。把其后的字符'a'送给字符变量b,由于%c只要求输入一个字符,系统判定该字符已输入结束,因此输入字符a之后不需要加空格。字符’a'后面的数值应送给变量c。如果由于疏忽把1230.26错打成1230.26,由于123后面出现字母o,就认为该数值数据到此结束,将123送给变量c,后面几个字符没有被读入。

相关文章

  • picture

    插座为什么会响(插座发出滋滋的响声,还能用吗?)

    插座发出滋滋的响声,还能用吗?当我们在生活中,发现这样的情况,一定要注意,是不能再用的了,发生这样的情况有两种。第一种是:插座后面的电线出现了松动,就是接触不良,这时有电器使用时,还会伴有火花的出现,是非常危险的情况,必需立即停止使用电器,待修好再用,第二种:是出现了过载的情况。就是电器使用过多,插

  • picture

    为什么漏电保护器老是跳闸(家里漏电保护器经常跳闸,一起来看看)

    在我们生活当中,家里的漏电保护器跳闸,是经常遇到的一件事。很多人对漏电保护器跳闸的原因都不怎么了解,家里没电了,一下子就慌了,非常的苦恼。那么今天就带大家了解一下,漏电保护器跳闸的原因以及处理方法,一起学一下,也许会帮助到你。1、漏电保护器质量不合格现在市面上,假冒伪劣产品很多,不要贪图便宜,买到一

  • picture

    卷柏为什么卷起来了(小叶卷柏叶子卷了怎么办?)

    小叶卷柏现在受到很多人的喜爱,其实它还有一个别名,叫做“九死还魂草”,更加的有名。听到这个名字就会知道这种植物的特点了吧,养不死,它最大的特点就是一个月不浇水,完全干枯了,放到水里还能恢复生机,所以被称为九死还魂草。小叶卷柏是一种多年生常绿草本蕨类植物,叶子扁平状,浅绿色,非常的漂亮。生命力特别的顽

  • picture

    什么是学区房为什么要买学区房(学区房还有必要买吗?先要搞清楚学区房的发展趋势)

    政府一直在调控学区房,例如北京的多校划片、电脑摇号派位的政策,上海实行的区域分配学校政策, 深圳采取积分上学的方法,这些都是在调控这个学区房价格,同时也使教育资源的分配更合理, 然而现实情况却是学区房的价格一直在涨, 但我说的是在一线城市啊,一平米会高30几万,一套非常小的房子,价格就有可能上千万

  • picture

    乌龟寿命为什么这么长(乌龟长寿的秘密是什么)

    人类向往长寿已有千百年之久,而乌龟却以其长寿而闻名于世。乌龟的寿命常常能够超过一百年,甚至一些乌龟可以活到两百多岁。这个令人惊叹的长寿激发了我们的好奇心,让我们不禁想知道乌龟长寿的秘密是什么,并且思考这对我们人类有什么启发。首先,乌龟长寿的秘密之一是它们的代谢率相对较低。相比于其他动物,乌龟的代谢率

热门文章

最新文章