来分析一下这个题,这道题应该算是一道基础题,仅仅涉及到指向字符串的指针,haystack这个指针指向的是原串,也就是例子里面的”abcd1234“needle指针指向的是前缀,例子里面的”abc“。我们知道,在指针指向的是字符串的第一个元素
再来分析一下那个while循环,里面的条件是haystack指针和needle指针都没有越出边界,所以下面的if条件里面肯定涉及到指针的向后挪动,当什么时候返回NULL呢,很明显,就是当两个指针指向的元素不同时就结束调用,下面的if判断的是如果haystack先越界了,而needle还没有越界,那needle肯定就不可能是前缀了。