/* Libft Copyright (C) 2026 yctct This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "libft.h" char *ft_strrchr(const char *s, int c) { int slen; slen = ft_strlen(s); while (slen >= 0) { if (s[slen] == (char)c) return ((char *)&s[slen]); slen--; } return (0); } /* char *ft_strrchr(const char *p, int ch) { int i; i = 0; while (s[i]) i++; while (s[i] != (char)c) if (i-- == 0) return (NULL); return ((char *)&s[i]); } char *ft_strrchr(const char *p, int ch) { char *save; save = NULL; while (1) { if (*p == (char)ch) save = (char *)p; if (!*p++) return (save); } } #include int main(void) { const char s[] = "Helleo"; int i; int j; int k; i = (int) 'i'; j = (int) 'e'; k = '\0'; printf("Expected return: NULL\n"); printf("ft_strrchr: %s\n", ft_strrchr(s, i)); printf(" strrchr: %s\n", strrchr(s, i)); printf("------------------------\n"); printf("Expected return: 'eo'\n"); printf("ft_strrchr: %s\n", ft_strrchr(s, j)); printf(" strrchr: %s\n", strrchr(s, j)); printf("------------------------\n"); printf("Expected return: 'null byte'\n"); printf("ft_strrchr: %s\n", ft_strrchr(s, k)); printf(" strrchr: %s\n", strrchr(s, k)); } */