1、问题
编写函数类似strchr函数,但是它有3个参数,第三个参数是1, 这个函数的功能就和strchr完全一样,
如果第三个参数是2,这个函数就返回一个指向ch字符在str字符串第二次出现的位置的指针,以此类推
2、代码实现
1 #include <stdio.h>2 #include <string.h>3 4 /**5 编写函数类似strchr函数,但是它有3个参数,第三个参数是1, 这个函数的功能就和strchr完全一样,6 如果第三个参数是2,这个函数就返回一个指向ch字符在str字符串第二次出现的位置的指针,以此类推7 **/8 char *my_strnchr(const char *str, int ch, int which)9 {10 if (which <= 0)11 return str;12 for (int i = 0; i < which; ++i)13 {14 if (str != NULL)15 {16 str = strchr(str, ch);17 //最后一次出现不需要指针向右移动18 if (i != which -1)19 {20 //如果which的次数比ch出现的多21 //直接返回str22 if (str == NULL)23