上一道题,,,把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 }