黑马程序员技术交流社区

标题: 字符函数的比较 [打印本页]

作者: 刘彦麟    时间: 2015-8-2 19:31
标题: 字符函数的比较
1.gets函数可以一次接收一行输入串,其中可以有空格,也就是说空格可以做为字符串的一部分输入.
而scanf函数接收的字符串不会含有空格,即遇到字空格时,认为字符串输入结束,也就是说空格是scanf默认的结束符号。scanf和gets不能混合使用,如果一个程序中用scanf的话,一般不能再用gets,反之亦然。
2.gets()输入字符串时,可以包含空格在内的字符,在回车时,自动将字符串结束标志'\0'赋予字符数组最后一个元素。scanf函数不能输入包含空格字符的字符串,也就是说空格是scanf默认的结束符号。
3.如果像你在你的程序中提到的只把for循环中gets改为scanf的话,在后面该输入的时候直接跳过的原因是,在结束前一个scanf输入时输入的回车被后一个gets输入时接受,也就是说前一个地方输入的“数据+回车”分别被两个地方接受。此种问题会出现在gets和scanf交接处。只需要在程序中统一改为scanf和gets就可以了。
作者: 我丶就这样    时间: 2015-8-2 19:52
围观学习!!!
作者: 李艳兵    时间: 2015-8-4 21:28
gets()函数需导入什么头文件,或者和scanf()的头文件一样
作者: 原晓桢    时间: 2015-8-4 21:32
围观围观
作者: 小林儿    时间: 2015-8-4 21:32
谢谢分享!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2