원래 코드
#include <unistd.h>
int ft_str_is_alpha(char *str)
{
int cnt;
int i;
i = 0;
cnt = 0;
while (str[i] != '\\0')
{
if ((str[i] < z && str[i] > a) || (str[i] < 91 && str[i] > 64))
{
cnt = 1;
}
else
{
cnt = 0;
break ;
}
i++;
}
return (cnt);
}
수정한 코드 : str의 길이가 0일 때의 예외사항을 빼먹어서 추가하였다.
#include <stdio.h>
int ft_strlen(char *str)
{
int count;
count = 0;
while (str[count] != '\\0')
{
count++;
}
return (count);
}
int ft_str_is_alpha(char *str)
{
int cnt;
int i;
i = 0;
cnt = 0;
if (ft_strlen(str) == 0)
cnt = 1;
while (str[i] != '\\0')
{
if ('a' <= str[i] && str[i] <= 'z')
{
cnt = 1;
}
else if ('A' <= str[i] && str[i] <= 'Z')
{
cnt = 1;
}
else
{
cnt = 0;
break ;
}
i++;
}
return (cnt);
}
int main() {
char a[] = "adad";
char b[] = "as1ereer";
printf("%d", ft_str_is_alpha(a));
printf("%c", '\\n');
printf("%d", ft_str_is_alpha(b));
return 0;
}