问答题

【参考答案】

intfun(char*str1.char*str2)
{
intsize=0;
intstrllen;
intstr2len;
for(strllen=0;str1[strllen]!=0;strllen++);
for(str21en=0;str2[str21en]!=0;str2len++);
for(inti=0:i<strllen;i++)
{
intj=0;
for(;j<str21en;j++)
if(strl[i+j]!=str2[j])
break;
if(i==str21en)
{
++size;
i+=j;
}
}
returnsize;
}
【解析】本题考查的是字符串查找算法。首先求出两个字符串的长度,然后循环遍历第1个字符串,再使用一个内循环遍历第2个字符串,判断两个字符串相应位置是否一致。如果遍历完第2个字符串,所有位置都一致,则记数值size增1,即找到一个子串。

(↓↓↓ 点击下方‘点击查看答案’看答案解析 ↓↓↓)