凌阳教育的个人空间 https://blog.eetop.cn/204849 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

整数输入

已有 441 次阅读| 2016-4-8 17:37

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

% 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


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 3

    评论
  • 3815

    访问数
关闭

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

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

GMT+8, 2024-3-29 23:57 , Processed in 0.013544 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部