As part of 1st project at 42 school, I have to make my own C library(libft) by re-implement some C functions. My code has to mimic default behaviour unless told otherwise.
However for Test 5 and 6 my code's result is not the same as the standard library. Where did I go wrong with my implementation?
char *ft_strrchr(const char *str, int c)
{
char *save;
char chr;
save = 0;
chr = c;
if (chr == 0)
return (save);
while (*str != '\0')
{
if (*str == chr)
{
save = (char *)str;
}
str++;
}
return (save);
}```
This is my main.c that I'm testing the code with:
```c
#include <stdio.h>
#include <string.h>
char \*ft_strrchr(const char *str, int c)
int main(void)
{
char string1[] = "bonjour";
char string2[] = "bonjourno";
char search[8];
search[0] = 'b';
search[1] = 'o';
search[2] = 'o';
search[3] = 'j';
search[4] = 's';
search[5] = '\0';
search[6] = '\0';
search[7] = 'b';
printf("\n");
printf("Search 0\nori: [%s]\nft_: [%s]\n\n", strrchr(string1, search[0]), ft_strrchr(string1, search[0]));
printf("Search 1\nori: [%s]\nft_: [%s]\n\n", strrchr(string1+4, search[1]), ft_strrchr(string1+4, search[1]));
printf("Search 2\nori: [%s]\nft_: [%s]\n\n", strrchr(string2+8, search[2]), ft_strrchr(string2+8, search[2]));
printf("Search 3\nori: [%s]\nft_: [%s]\n\n", strrchr(string1+3, search[3]), ft_strrchr(string1+3, search[3]));
printf("Search 4\nori: [%s]\nft_: [%s]\n\n", strrchr(string1, search[4]), ft_strrchr(string1, search[4]));
printf("Search 5\nori: [%s]\nft_: [%s]\n\n", strrchr(string1+7, search[5]), ft_strrchr(string1+7, search[5]));
printf("Search 6\nori: [%s]\nft_: [%s]\n\n", strrchr(string2, search[6]), ft_strrchr(string2, search[6]));
printf("Search 7\nori: [%s]\nft_: [%s]\n\n", strrchr(string1+2, search[7]), ft_strrchr(string1+2, search[7]));
return(0);
}```