scanf printf格式控制说明

%d  10进制整数说明

%f  10进制浮点说明

%0  8进制整数说明

%x  16进制整数说明

%c  单个字符

% * m lh 格式字符
格式字符与printf函数中的使用方式相同,以%d%o%x%c%s%f%e,无%u格式、%g格式。
可以指定输入数据所占列宽,系统自动按它截取所需数据。如:
scanf(“%3d%3d”,&a,&b);
输入:123456
系统自动将123赋给a,456赋给b
③%后的“*”附加说明符,用来表示跳过它相应的数据。例如:
scanf(“%2d%*3d%2d”,&a,&b);
如果输入如下信息:1234567。将12赋给a67赋给b。第二个数据”345”被跳过不赋给任何变量。
输入数据时不能规定精度,例如:
scanf(“%7.2f”,&a);
是不合法的,不能企图输入:12345.67而使a的值为12345.67
--------------------------------------------------------------------------------
相关:
输入数据流分隔
根据格式字符的含义从输入流中取得数据,当输入流中数据类型与格式字符要求不符时,就认为这一项结束。如:
scanf(“%d%c%f”,&a,&b,&c)
如果输入如下信息:
1234r1234.567
scanf函数在接收数据时发现”r”类型不匹配,于是把”1234”转换成整型赋值给a,把”r”赋给变量b,最后把”1234.567”转换成实型数据赋给c
根据格式项中指定的域宽分隔出数据项。如语句:scanf(“%2d%3f%4f”,&a,&b,&c);
如果输入如下信息:
123456789012345
scanf函数在接收数据时根据域宽把12赋值给a,345赋值给b6789赋值给c
隐示分隔符。空格、跳格符(’/t’)、换行符(’/n’)都是C语言认定的数据分隔符。
显示分隔符。在scanf函数的两个格式说明项间有一个或多个普通字符,那么在输入数据时,在两个数据之间也必须以这一个或多个字符分隔。如语句:
scanf(“a=%d,b=%f,c=%f”,&a,&b,&c);
则输入数据应该为:
a=1234,b=67.8,c=98.123
--------------------------------------------------------------------------------
关于scanf函数的进一步说明:
①scanf函数中的格式控制后面应当是变量地址,而不应是变量名。例如,如果ab为整型变量,则
scanf(“%d,%d”,a,b);
是不对的,应将”ab”改为”&a,&b”
如果在格式控制字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。例如:
scanf(“%d,%d”,&a,&b);
输入时应输入:3434之间的逗号应与scanf函数中的格式控制中的逗号相对应,输入其它符号是不对的。

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

输入时应输入3 4。3与4之间应为空格。
在用“%c”格式输入字符时,空格字符和转义字符都作为有效字符输入。
scanf(“%c%c%c”,&c1,&c2,&c3);
如输入:a b c 。字符’a’赋给c1,字符(空格)’ ’赋给c2,字符’b’ 赋给c3
④ scanf 中不使用U说明符.unsigned型数据用dox说明符输入

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值