7月16号学习内容

1.初识scanf

1.1scanf的基本用法:输入数据用的(scanf-是,vs上特有的,不通用)

 必须保持数据类型和占位符一致

%f默认保留6位小数,可通过%.nf实现保留位数

 可多个占位符使用,先缓存再解读,会⾃动过滤空⽩字符,包括空格、制表符、换⾏符等

 

每次按下回⻋键以后,
scanf() 就会开始解读,如果第⼀⾏匹配第⼀个占位符,那么下次按下回⻋键时,就会从第⼆个占
位符开始解读(-6.0e5为科学计数法)

 1.2scanf的返回值

scanf的返回值是int类型,为成功读取的返回值个数如果没有读取任何项,或者匹配失败,则返回 0 。
如果在成功读取任何数据之前,发⽣了读取错误或者遇到读取到⽂件结尾,则返回常量EOF(-1)。如果没有读取任何项,或者匹配失败,则返回 0 

1.3scanf的字符类型注意事项

%c 不忽略空⽩字符,总是返回当前第一个读取的字符,无论是否是空白字符%s ,它其实不能简单地等同于字符串。它的规则是,从当前第⼀个⾮空⽩字符开始读起,直到遇到空⽩字符(即空格、换⾏符、制表符等)为⽌因为 %s 不会包含空⽩字符,所以⽆法⽤来读取多个单词,除⾮多个 %s ⼀起使⽤。这也意味着,
scanf() 不适合读取可能包含空格的字符串,⽐如书名或歌曲名。另外, scanf() 遇到 %s 占位
符,会在字符串变量末尾存储⼀个空字符 \0

scanf() 将字符串读⼊字符数组时,不会检测字符串是否超过了数组⻓度。所以,储存字符串时,很可能会超过数组的边界,导致预想不到的结果。为了防⽌这种情况,使⽤ %s 占位符时,应该指定读⼊字符串的最⻓⻓度,即写成 %[m]s ,其中的 [m] 是⼀个整数,表⽰读取字符串的最⼤⻓度,后⾯的字符将被丢弃。
1.4赋值忽略符(代码出问题了,明天加if一块补上)

%*c 的作用是读取并丢弃一个字符。在我的代码中,它的使用意味着 scanf 会读取一个字符(通常是 -),但它只在输入中存在且存在于预期位置时才会有效。如果输入中没有 - 或者它的位置不符合 %*c 的位置,那么它将不会产生任何影响

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值