为什么调试的时候出错

跳过输入中的第一个非空白字符前的所有空白字符,读取第一个连续的单词,该单词没有空白字符

#include
#include
#include
#include
#define SIZE 80
char* _countchar(char* ,int);
int main()
{
    char str[SIZE];
    _countchar(str, SIZE);
    printf("you input word is:\n");
    puts(str);

}
char* _countchar(char* p, int n)
{
    char str1[SIZE];
    char* ps = str1;
    char *judginput=fgets(str1,n,stdin);
    if (judginput)
    {
        char* judge_n = strchr(str1, '\n');
        *judge_n = '\0';
    }
    while (!isblank(*ps++))
    {
        break;
    }
    while (isblank(*ps++))
    {
        *p = *ps;
        break;
    }
    *(ps++) = '\0';

}

img


char *_countchar(char *p, int n)
{
    char c, *s = p;
    int i = 0;
    while ((c = getchar()) != '\n' && i < n - 1)
    {
        if (isblank(c))
            continue;
        *s++ = c;
        i++;
    }
    *s = '\0';
    return p; //
}