strchr函数是用来在字符串中查找是否存在某个字符,如果存在,则返回在字符串中第一次出现的地址,否则返回NULL。
我们的思路就是遍历一遍字符串,看是否存在字符,如果存在,则立即返回这个地址。
下面实现strchr,代码如下:
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
const char* my_strchr(const char* dest, char ch) { //我们只是查找,并不修改 dest 字符串中的内容,所以用 const 进行修饰
assert(dest != NULL); //使用断言来判断地址是否合法
while (*dest) {
if (*dest == ch) {
return dest;
}
dest++;
}
return NULL;
}
int main() {
char arr[] = "hello world";
char a = 'l';
printf("%s\n", my_strchr(arr, 'l'));
return 0;
}