资源描述
字符串及字符串函数,字符串字符串及其结束标志无字符串变量,用字符数组处理字符串字符串结束标志:0,字符串的输入输出逐个字符I/O:%c整个字符串I/O:%s字符串输入函数:scanf函数:charst10;scanf(“%s”,st);说明:(1)字符串输入时无须加取地址符“说明:(1)gets函数输入时,只有遇到回车符才认为字符串结束。,字符串输出函数:printf函数:printf(“%s”,st);说明:(1)输出“0”前所有字符,输出后不自动换行。puts函数:gets(st);说明:(1)输出“0”前所有字符,输出后自动换行。注:使用gets和puts,必须包含头文件string.h,例main()chara5=H,e,l,l,o;printf(“%s”,a);,例main()chara=“Hello”;/chara6=“Hello”;printf(“%s”,a);,结果:Hello#-=*,结果:Hello,用“%s”输出时,遇0结束,main()chara=h,e,l,0,l,o,0;printf(%s,a);,例,输出:hel,数组中有多个0时,遇第一个结束,例字符串输入举例,#includemain()chara15,b5,c5;scanf(%s%s%s,a,b,c);printf(a=%snb=%snc=%sn,a,b,c);scanf(%s,a);printf(a=%sn,a);,运行情况:输入:Howareyou?输出:a=Howb=arec=you?输入:Howareyou?输出:a=How,scanf中%s输入时,遇空格或回车结束,运行情况:输入:Howareyou?,字符串连接函数strcat格式:strcat(字符数组1,字符数组2)功能:把字符数组2连到字符数组1后面返值:返回字符数组1的首地址说明:字符数组1必须足够大连接前,两串均以0结束;连接后,串1的0取消,新串最后加0,字符串拷贝函数strcpy格式:strcpy(字符数组1,字符串2)功能:将字符串2,拷贝到字符数组1中去返值:返回字符数组1的首地址说明:字符数组1必须足够大拷贝时0一同拷贝不能使用赋值语句为一个字符数组赋值,例charstr120,str220;str1=“Hello!”;()str2=str1;(),其他字符串处理函数:必须包含头文件string.h,例strcpy与strcat举例,#include#includevoidmain()chardestination25;charblank=,c=C+,turbo=Turbo;strcpy(destination,turbo);strcat(destination,blank);strcat(destination,c);printf(%sn,destination);,TurboC+,字符串比较函数strcmp格式:strcmp(字符串1,字符串2)功能:比较两个字符串比较规则:对两串从左向右逐个字符比较(ASCII码),直到遇到不同字符或0为止返值:返回int型整数,a.若字符串1字符串2,返回正整数c.若字符串1=字符串2,返回零说明:字符串比较不能用“=”,必须用strcmp,字符串长度函数strlen格式:strlen(字符数组)功能:计算字符串长度返值:返回字符串实际长度,不包括0在内,例对于以下字符串,strlen(s)的值为:(1)chars10=A,0,B,C,0,D;(2)chars=“tr0willn”;(3)chars=“x69082n”;,答案:131,Howareyou?Hello!Len1=6,Len2=12,Len3=18,例有三个字符串,找出其中最大者,#include#includemain()charstring20,str320;inti;for(i=0;i0)strcpy(string,str0);elsestrcpy(string,str1);if(strcmp(str2,string)0)strcpy(string,str2);printf(nThelargeststringis:n%sn,string);,
展开阅读全文