格式输入函数scanf

格式输入函数

1.scanf函数的一般格式
Scanf函数是一个标准库函数,其函数原型在头文件stdio.h中,scanf函数的一般形式如下

Scanf(格式控制,地址表列);

其中,格式控制的作用与printf函数相同,但不能显示非格式字符串(普通字符),也就是不能显示提示字符串。地址表中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。例如:&a,&b分别表示变量a和变量b的地址,这个地址就是编译系统在内存中给a,、b变量分配的地址

Eg;使用scanf函数输入数据
在这里插入图片描述

注意scanf(“%d,%d”)格式控制的格式要求在输入数据时严格根据要求两数之间必须以逗号隔开
如果用scanf(“%d%d”)%d%d之间什么都不用加,这时候输入的两个数之间可以以一个或多个空格间隔,也可用enter,跳格键 除此之外用别的字符间隔必须按照格式输入
如 scanf(“%da%d”)那么输入两数就要以A来间隔1ab
使用scanf函数实现数据输入

在这里插入图片描述

2.格式控制
格式控制的一般形式如下
%【*】【域宽】【长度】类型
其中有括号【】的项为任选项
⑴一般形式中的“类型”,即scanf函数的格式字符
Scanf格式字符
格式 字符意义
d 输入十进制整数
o 输入八进制整数
x 输入十六进制整数
u 输入无符号十进制整数
c 输入单个字符
s 输入字符串
F、e、g 输入实型数据(用小数形式或者指数形式)

⑵一般形式中的“*”用来表示该输入项读入后不赋予相应的变量,即跳过该输入值
Scanf(“%d %*d%d”,&a,&b);当输入 12 13 14时,把12赋值给a,13被跳过,14赋值给b

⑶所谓的域宽 就是指定输入数据所占宽度,域宽应该为正整数
例如
Scanf(“%5d%”,&x);
当输入 12345678时,把12345赋给变量X,其余部分被截取
Scanf(“%4d%4d”,&x,&y);
当输入12345678时,把1234赋给x,5678赋值给y

⑷”长度”格式字符为1和h,1表示输入长整形数据和双精度浮点数,h表示输入短整形数据
Scanf函数注意事项
①scanf函数没有精度控制
Scanf(“%5.2d%10.2f”,&x,&y);
上述语句是非法的
②Scanf函数要求给出变量地址,所以“&”不能少

**关于%d 的疑问
%d只能跳过0-99 超过100就不能跳过为什么?

在这里插入图片描述
第二个数大于100不能跳过

在这里插入图片描述

小于100可以跳过

我也不知道为什么 知道的私信我互相学习一下

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值