永发信息网

c语言,输入两个字符串,判断后一个是不是前一个的子串

答案:3  悬赏:80  手机版
解决时间 2021-03-11 22:40
要用指针,尽量详细点,最好有重要步骤的解释,麻烦各位大神了
最佳答案
int judge(char first[],char second[]) {//两个字符串首地址的形参
char *f=first,*s=second;//由于数组地址不能被赋值,所以声明两个指针来指向数组首地址
while(*f!='\0') {//循环运行到第一个字符串的末尾结束
char *temp=f;//新定义一个指针,这样做操作的时候不会改变f指针
if(*temp==*s) {//判断第一个数组中的字符是否等于第二个数组中的字符,如果是进行以下操作
while(*s!='\0') {//以下循环判断第一个数组中字符是否跟第二个数组中字符完全相同
temp++;
if(*temp='\0') retuen 0;//第一个数组中剩余字符不够了,所以不是子串
s++;
if(*temp!=*s) {
s=second;//如果第二个数组中有一个字符跟第一个数组中不一样,则重置S指针
}
}
if(s!=second) return 1;//第二个数组中字符全部跟第一个数组中一样,所以是子串
}
f++;
}
return 0;//循环结束还没得到是子串的结论,所以不是子串
}
函数写好了,放在main里面调用就行了
全部回答
#include int fa(char *str1,char *str2) { char *p1=str1; char *p2=str2; while(*p1!='\0' && *p2!='\0') { if(*p1==*p2) { p1++; p2++; } else { return 0; } } if(*p1=='\0' && *p2=='\0') { return 1; } return 0; } int fb(char *str1,char *str2) { char *p1=str1; while(*p1!='\0') { if(fa(p1,str2)) { return 1; } else { p1++; } } return 0; } void main() { char *str1="asdfasf"; char *str2="sdf"; if(fb(str1,str2)) printf("match"); else printf("not match"); }
#include int isstr(const char *source,const char *dest) { int i=0,j,k; while(source[i]!='\0') { k=i;j=0; while(source[k]!='\0'&&dest[j]!='\0'&&source[k]==dest[j]) k++,j++; if (dest[j]=='\0') return 1; if (source[k]=='\0') return 0; i++; } return 0; } int main() { char data[] = "ni hao"; char data1[] ="hao"; printf("%d\n",isstr(data,data1)); return 0; } 程序如上,关键函数就是 int isstr(const char *source,const char *dest) 判断dest字符串是否是source的子串。 是,返回1,否则返回0. 有问题可以空间留言,或hi我。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
湘怡园在哪里啊,我有事要去这个地方
下列有关房屋权属登记的表述中,正确的是
推荐个五六千左右的笔记本
麻章区交通局麻章交通管理站怎么去啊,有知道
昊锐1.8t用什么型好汽油滤芯
柘塘拐我想知道这个在什么地方
1651年英国《航海条例》规定:“——无论英国
防冻液添加的是哪一种阻垢剂和防锈剂
古代流放是什么意思
平三地址在什么地方,想过去办事
三洞齐叉的感觉怎么样
挖掘机人才招聘网
呼和浩特市去医院看牙能用别人的医保卡吗 我
想给我家孩子买到结婚就能取出来的保险
秦小贝陕西手工面在什么地方啊,我要过去处理
推荐资讯
中国工商银行机场新区支行我想知道这个在什么
古墓丽影崛起在苏联营地里捡到一个古拉格劳改
麻烦各位帮忙看看这种手表价钱~
java程序中GUI编程的缺少main方法的代码如何
我的阿拉斯加犬得了犬瘟热,有时会全身抽搐,
乡村画廊地址有知道的么?有点事想过去
某项目的投资期望报酬率为18%,如资金的时间
银行卡卡号的意思
我也报考的监狱管理干事,电气化专业。进去以
1到6年级的礼貌英语单词有什么
的倒数是。
目前柴胡市场价格是多少钱一公斤?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?