文档详情

C语言学习笔记七.docx

发布:2017-04-03约2.85千字共7页下载文档
文本预览下载声明
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)中格式控制字符串中的格式说
显示全部
相似文档