一个字符串查找函数(据说就是自己重写库函数strpbrk)这是c和指针的一道作业题,望大牛点评一下,俺不怕批评
程序代码:
#include<stdio.h> //a、在source中查找是否有存在chars集合中的任一字符 有则返回指向该字符的指针,否则返回NULL //b、不得使用任何操作字符串的库函数 //c、不能使用下标(也就是不能使用数组) //d、函数形参和返回值已固定,不得更改 char* find_char(char const *source,char const *chars) { char * ret=NULL; char const * p_s=source; while(*chars) { while(*source) { if(*source==*chars) { //调试中,曾遇到了char * 和char const *不能互相赋值的错误 //后来加了强制转换,也不知道这样是否正确 ret=(char*)source; goto _exit; } *source++; } source=p_s; *chars++; } _exit: return ret; } int main() { char * a="abcd"; char * b="xyzbi"; //a字符串中包含b字符串里的'b',所以函数返回指向bcd的指针 //感觉是符合题目要求了 char *c=find_char(a,b); printf("%s\n",c); return 0; }