在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!)    创芯人才网--重磅上线啦!
查看: 1476|回复: 0

[资料] 整数输入

[复制链接]
发表于 2016-4-8 17:39:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

用于读取一个整数的字段说明符为:

% w d

百分号表明后面跟的使转换说明符。W是一个整数,指定要读取的数字的字段度,而d为数据类型字符,表明要读取的数据为整形数据。请看下面示例:

scanf("%2d%5d",&num1,&num2);

输入数据为

50 31426

50赋给了num1,而31426赋给了num2.假设输入的数据为:

31426 50

那么变量num1被赋给的值是31,而变量num2被赋给的值是426.50未被读取,但它可赋给下一个scanf函数调用中的第一个参数。如果只是使用字段类型说明符,而无字段宽度说明符,这种错误就可以避免。也就是说,使用语句:

scanf("%d%d",&num1,&num2);

可以正确读取数据:

31426     50

此时就可以正确地将值31426赋给num1,而50赋给num2了。

输入数据的各项必须用空格、制表符或换行符隔开。不能用标点符号来分隔。当scanf函数从输入数据行读取数据时,将忽略所有这些空白字符。

如果我们输入的是浮点数而不是整数时,小数部分将被截除!而且,scanf函数还会忽略掉多余的输入。

scanf函数读取某个特定的值时,如果指定了字段的宽度,只要读取的字符数够了,或者读取时遇到了一个不合法的字符时,读取工作将被中止。当要读取的是整数时,如果输入的是合法的字符,那么久把这些字符看做是有符号的数字。

通过字段的宽度说明符位置上指定*,就可以跳过该输入字段。例如,语句:

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

此时,如果输入如下数据:

123 456 789

那么,123赋给a456被忽略,789赋给b

凌阳教育,全国唯一一家原厂式嵌入式培训机构,专业从事嵌入式人才培训13年,最近新开课程信息安全工程师培训,想了解更多嵌入式资料下载或者是凌阳教育的动态,请访问凌阳教育官网www.sunplusedu.com

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-11 04:53 , Processed in 0.015872 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表