On Thu, Feb 14, 2019 at 02:02:37PM +0800, Xiang Xiao wrote: > Here is the detailed description for memrchr: > > void *memrchr(const void *s, int c, size_t n); > > The memrchr() function is like the memchr() function, except > that it searches backward from the end of the n bytes pointed > to by s instead of forward from the beginning. > > The memrchr() functions return a pointer to the matching byte > or NULL if the character does not occur in the given memory > area. > +void *memrchr(const void *s, int c, size_t n) > +{ > + const unsigned char *p = s + n; > + > + while (n-- != 0) { Simple: while (n--) { > + if ((unsigned char)c == *--p) > + return (void *)p; > + } > + return NULL; > +} -- With Best Regards, Andy Shevchenko