使用scanf()函数时应注意的问题

您所在的位置:网站首页 if函数使用条件能出现空格吗 使用scanf()函数时应注意的问题

使用scanf()函数时应注意的问题

2023-03-19 19:58| 来源: 网络整理| 查看: 265

一、scanf()函数中格式控制后面是变量地址,而不是变量名,这个应该不用多说

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

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

在输人数据时,应在对应的位置上输人同样的字符。即输入a=1,b=2,c=3,如果输入1 2 3,就错了。因为系统会把它和scanf函数中的格式字符串逐个字符对照检查的,只是在%f的位置上代以一个浮点数。

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

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

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

在执行此函数时应连续输入3个字符,中间不要有空格,如abc。 如果在两个字符中间插入空格就错了,如a b c,那么系统会把第1个字符’a’送给c1;第2个字符’ '(也就是空格)送给c2;第3个字符’b’送给c3,并没有达到想要的效果。

注意!!!输入数值时,在两个数值之间需要插入空格(或其他分隔符),以使系统能区分两个数值。在连续输入字符时,在两个字符之间不要插入空格或其他分隔符,(除非在scanf()中的格式字符串有普通字符,这时输入数据就要在原位置上插入该字符),这样系统才能区分两个字符。

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

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

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



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3