문자열 s1, s2를 서로 n만큼 비교하는 함수
int ft_strncmp(const char *s1, const char *s2, size_t n)
🔩 parameters
*s1 : s2와 비교할 문자열
*s2 : s1과 비교할 문자열
n : 어느만큼 비교할지 크기📬 return
int형 반환
- 문자열 두개를 n만큼 비교하던 중 다른부분이 나오지 않는다면 즉 일치한다면 0을 반환
문자열 두개를 n만큼 비교하던 중 다른부분이 나온다면 즉 일치하지않는다면 s1과 s2가 처음 일치하지 않는 부분의 차이만큼을 리턴해줌 (s1[i] - s2[i])
만약 인덱스보다 n이 큰 상태이고 s1[i]는 \0이 아니지만 s2의 길이가 n보다 작아 \0일때에도 s1[i]와 s2[i]를 비교한다.
#include "libft.h"
int ft_strncmp(const char *s1, const char *s2, size_t n)
{
size_t i;
i = 0;
while (i < n && (s1[i] != '\0' || s2[i] != '\0'))
{
if (s1[i] != s2[i])
{
return ((unsigned char)(s1[i]) - (unsigned char)(s2[i]));
}
i++;
}
return (0);
}