这两句话是不是存在矛盾,后者说输入多个字符是可以用一个以上空格或者tab,回车。前者又说所有字符均为有效字符,搞不懂。
C语言的scanf函数问题
这两句话是不是存在矛盾,后者说输入多个字符是可以用一个以上空格或者tab,回车。前者又说所有字符均为有效字符,搞不懂。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- fortunely2 2022-05-22 08:43关注
从控制台通过键盘输入的,都是字符。区别在于,在scanf中,
1)如果格式控制串是%c,会把所有输入字符都用来匹配后面参数,比如你键入d<SP>e<SP>f
(SP,空格),除了“def”,SP也会被当做一个字符,赋值给后面相应的参数,当然末尾还有换行符<LF>
。所有参数都有值了以后,就会停止匹配字符。
2)如果格式控制串是%d,只会把“-”
(首位负号字符),“0~9”
(数字字符)用来转化成整型匹配后面参数,所有输入都是字符,但对于int数字来说,a~z等字母就是无效字符,非数字的首位“-”也是无效字符。比如你键入-123abc456-def-789
,-123是数字(成功匹配到一个整型数),abc并非数字(终止本次输入整型数的匹配),456是数字(成功匹配到一个整型数),-def并非数字(终止本次输入整型数的匹配),-789是数字(成功匹配到一个整型数).具体怎么匹配的,取决于你的格式控制串。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效