LQB2013A05前缀判断

 上一道题,,,把if条件写错了,,,,找了半天的bug我都快哭了,

好了好了

看见这种填空题,先理解题意

然后把代码copy下来,把空格注释掉,然后运行到编译没有错.

再理一下它的思路

 1 //
 2 // Created by snnnow on 2020/7/15.
 3 //
 4 //要注意一一下你存储数据,用vector存,直接存一个结构体就好
 5 #include<iostream>
 6 #include <sstream>
 7 #include <string.h>
 8 #include <vector>
 9 using namespace std;
10 char *prefix(char *haystack_start,char *needle_start){//判断后面这个玩意是不是前面那个的前缀
11     char *haystack=haystack_start;
12     char *needle=needle_start;
13     while(*haystack && *needle){//就是判断别越出边界的
14         if(*(haystack++)!=*(needle++))//这里明显就是不匹配
15             return NULL;
16     }
17     if(*needle)
18         return NULL;
19     return haystack_start;
20 }
21 int main(){
22     char a[10]={"123ab"};
23     char b[10]={"123"};
24     cout<<prefix(a,b);
25 }
原文地址:https://www.cnblogs.com/zhmlzhml/p/13308443.html