前缀判断

来源:互联网 发布:下载scratch软件 编辑:程序博客网 时间:2024/05/20 19:48

前缀判断

如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。
比如:"abcd1234" 就包含了 "abc" 为前缀


#include<iostream>

#include<cstring>
using namespace std;
char* prefix(char* haystack_start, char* needle_start)
{
    char* haystack = haystack_start;
    char* needle = needle_start;






    while(*haystack && *needle){

        if(*(haystack++)!=*(needle++)) return NULL;  ///需要填写的语句

///++优先级高于*,但由于先用needle++,首地址的内容还可以取到

    }


    if(*needle) return NULL;


    return haystack_start;
}
int main()
{


char *p;int i;
    char a[10];char b[10];
    cin>>a;
    cin>>b;p=prefix(a,b);
    if(p!=NULL)
    for(i=0;i<strlen(a);i++,p++)
        cout<<*p;
    return 0;
}
0 0
原创粉丝点击