编程题
前缀判断 ### 题目描述 **本题为代码补全填空题,请将题目中给出的源代码补全,并复制到右侧代码框中,选择对应的编译语言(C/Java)后进行提交。若题目中给出的源代码语言不唯一,则只需选择其一进行补全提交即可。复制后需将源代码中填空部分的下划线删掉,填上你的答案。提交后若未能通过,除考虑填空部分出错外,还需注意是否因在复制后有改动非填空部分产生错误。** 如下的代码判断 needle_start 指向的串是否为 haystack_start 指向的串的前缀,如不是,则返回NULL。 比如:"abcd1234" 就包含了 "abc" 为前缀。 ### 源代码 **C** ```c #include char* start_with(char* haystack_start, char* needle_start) { char* haystack = haystack_start; char* needle = needle_start; while(*haystack && *needle){ if(__________________) return NULL; } if(*needle) return NULL; return haystack_start; } void test(char* a, char* b) { char* p = start_with(a,b); if(p==NULL) printf("[NO]\n"); else printf("|%s|\n", p); } int main() { test("abcd","abc"); test("abcd","acb"); test("abcd","abcd"); test("abcd",""); test("","abc"); test("",""); return 0; } ```
查看答案
赣ICP备20007335号-2