已知两个串为s1="bc cad cabcadf",s2="abc",试求两个串的长度,并判断s2串是否是s1串的子串;如果s2是s1的子串,请指出s2在s1中的起始位置。
符串str2第一次出现的位置。测试用主函数如下所示,请编制search函数,并判断整个程序实现的功能。
#include
#include
void main()
{
char *search(char *str1,char *str2);
char *ptr;
char s1[100],s2[100];
cout<< "Input the s1 and s2:"<< endl;
cin>>s1>>s2;
ptr=search(s1,s2);
if(ptr!=NULL)
cout<< "子串第一次出现的位置是:s1["<< ptr-s1<< "]"<< endl;
else
cout<< s2<< "没有出现在"<< s1<< "中。"<< endl;
}
设串s1="ABCDEFG",s="PORST",strconcat(x,y)是将x和y两个串连成一个串,substring(s,i,j)是返回串s中从第i个字符开始长度为j的子串,strlength(s)返回串的长度,则strconcat(substring(s1,2,strlength(s2)),substring(s1,strlength(s2),2))的结果是______。
串s1=‘ABCDEFG’,s2=‘PQRST’,函数concat(x,y)返回x和y串的连接串,substr(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,strlen(s)返回串s的长度,则concat(slabstr(s1,2,strlen(s2)),substr(s1,strlen(s2),2))=_________
A.BCDEF
B.BCDEFG
C.BCPQRST
D.BCDEFEF
串s1=‘abcdefg’,s2=‘hijkl’,则concat(substr(s1,2,strlen(s2)),substr(s1,strlen(s2),2))=_________。
以下fun函数的功能是把s2串连接到s1串之后,请填空。 void fun(char*s1,char*s2) {while(*s1)____________; while(*s2) _____________; _____________; )