天天看点

重写 strchr

char * strchr_ex(char * strDst, char c)
{
	assert(strDst);
	if (!strDst)
		return NULL;

	while (*strDst != '\0' && *strDst != c)
		strDst++;

	return *strDst == c ? strDst : NULL;
}

char * strrchr_ex(char * strDst, char c)
{
	assert(strDst);
	if (!strDst)
		return NULL;
	
	char * p = strDst;
	while (*p++ != '\0');
	p -= 2;

	while (*p != '\0' && *p != c)
		p--;
	
	return *p == c ? p : NULL;
}
           

继续阅读