- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言学习笔记七
23,strlen()函数;strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符\0为止,然后返回计数器值(长度不包含\0)。举例1:(在Visual C++6.0中运行通过)#include string.h#includestdio.hint main(void){char *s=Golden Global View;printf(%s has %d chars,s,strlen(s)); //……has 18 chars;getchar(); //用做程序暂停;return 0;}24,scanf函数a),Scanf函数的返回值;scanf()函数返回成功赋值的数据项数(一般来说,成功读入几个数就返回几),读到文件末尾出错时则返回EOF。如:scanf(%d,%d, a, b);如果a和b都被成功读入,那么scanf的返回值就是2如果只有a被成功读入,返回值为1如果a和b都未被成功读入,返回值为0如果遇到错误或遇到end of file,返回值为EOF。且返回值为int型.?scanf函数的返回值是成功匹配的项数。????????for?example:??????????????????main(?)????????{???????????int?a,b,c;??????????printf(%d\n”,scanf(“%3d-%2d-%4d”,a,b,c));??????????printf(“a=%d,b=%d,c=%d\n”,a,b,c);?????????}??????????其中,scanf作为printf的参数,程序运行时先执行scanf,然后再由printf输出该scanf的返回值。??一次运行结果如下:???123-45-6789(回车)????3????a=123,b=45,c=6789???正确地输入了三个数,scanf正常结束,scanf返回值为3,作为printf的参数项,由printf输出.所以,运行结果第一行为3.??另一次运行情况:??12-345-6789(回车)???2???a=12,b=34,c=62????在按%3d读数据时,第3个字符不是数字,故提前截止,只将2个字符12送给a,再按%2d读入2个字符34送给b,本应出现?‘-’,但却输入5,不合法,非正常结束,成功匹配2项,scanf返回值为2.???b),scanf函数的用法。1),如果控制串有数据项组成,那么格式化说明符之间有空白符之类的分隔符和没有分隔符情况都是一样的,在输入流中,数据项必须由空格、制表符和新行符分割。逗号和分号等不是分隔符.比如:scanf( %d %d %d, r, c );和scanf( %d%d%d, r, c );的输入数据情况一样。?? 以下是合法输入方式:?? ? ? ① 3□□4□□□□5↙?? ? ? ② 3↙?? ? ? ? ?4□5↙?? ? ? ③ 3(tab键)4↙?? ? ? ? ?5↙2),scanf()的格式控制串可以使用其它非空白字符(逗号或者其它字符),但在输入时必须输入这些字符(与其对应)。例:?scanf(%d,%d,a,b);?输入: 3,4 ↙(逗号与%d,%d中的逗号对应)?scanf(a=%d,b=%d,a,b);?输入: a=3,b=4 ↙(a=,b=,逗号与%d,%d中的a=,b=及逗号对应)如果格式控制串中的非空白符是逗号,有一个特例:#include stdio.h?int main(void)?{?inta,b,c;scanf(%d,%d,%d,a,b,c);?printf(%d,%d,%d/n,a,b,c);return 0;?} ?运行时按如下方式输入三个值:3,4,5 ↙(输入a,b,c的值)或者3,□4,□5 ↙(输入a,b,c的值)3,□□□4,□5 ↙(输入a,b,c的值)?......?都是合法的,但是,一定要跟在数字后面,如:?3□,4,□5 ↙就非法了,程序出错。3),虽然空格、制表符和新行符都用做域分割符号,但读单字符操作(%c)中却按一般字符(有效字符)处理。例如,对输入流 x y 调用:scanf( %c%c%c, a, b, c );返回后,x 在变量 a 中,空格在变量 b 中,y 在变量 c 中。注意,控制串中的其它字符,包括空格、制表符和新行符,都用于从输入流中匹配并放弃字符,被匹配的字符都放弃。例如,给定输入流 10t20,调用:scanf( %dt%d, x, y );将把 10 和 20 分别放到 x 和 y 中,t 被放弃,因为 t 在控制串中。4),如果在读单字符操作(%c)中格式控制字符串中的格式说
您可能关注的文档
最近下载
- BLACKPINK《DDU-DU-DDU-DU》歌词(专辑:BLACKPINK 2018 TOUR'IN YOUR AREA'SEOUL)歌词.docx VIP
- Tu Youyou awarded nobel prize教学设计教学设计教学设计教学设计.docx VIP
- 322148 管理学原理(中级)教材配套PPT.pptx
- 风电项目实施方案(范文参考).docx
- 开学第一课-数学主题班会.ppt VIP
- 09BD14安全技术防范工程.pdf
- 第7课 实践出真知-【中职专用】2024年中职思想政治《哲学与人生》金牌课件(高教版2023·基础模块).pptx VIP
- 2025辽宁医药职业学院单招《数学》模考模拟试题附答案详解(达标题).docx VIP
- 2025年教科版(2024)小学科学三年级上册(全册)教学设计(附目录P171).docx
- 四大菜系--川菜.ppt VIP
文档评论(0)