C语言输入字符串,用空格逗号隔开单词,统计每个单词出现次数

问题遇到的现象和发生背景

第一个单词统计错误,其他正常

问题相关代码,请勿粘贴截图
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define Max 30
#define M 10
#define N 5


int chachong(char b[M][N],int c[M],char t[N],int n)
{
    int i,r=0;
    for(i=0;i<=n;i++)
    if(strcmp(b[i],t)==0)
    {
        r=1;
        c[i]++;
        break;
    }
    return r;
}


int main()
{
    char a[Max];
    char b[M][N];
    char t[N];
    int c[M]={0};
    int i=0,j=0,yes,n=-1;
    gets(a);
    //for(i=0;i<=strlen(a);i++)
    do{
        if((a[i]==' ')||(a[i]==',')||(a[i]=='\0'))
        {
            yes=chachong(b,c,t,n);//查重
            if(yes!=1){
            n++;
            strcpy(b[n],t);
            c[n]=1;
            }//无重复,写进数组
            memset(t,0,sizeof(t));
            j=0;
        }
        else
        {
            t[j]=a[i];
            
            j++;//存到临时字符串数组
        }
        i++;
    }while(i<=strlen(a));
    //排序(2个)
    //输出
    for(i=0;i<=n;i++)
    {
          printf("%s:%d\n",b[i],c[i]);
    }

}

运行结果及报错内容

img


#include<stdio.h>
#include<conio.h>
#include<string.h>
#define Max 30
#define M 10
#define N 5

int chachong(char b[M][N], int c[M], char t[N], int n)
{
    int i, r = 0;
    for (i = 0; i <= n; i++)
        if (strcmp(b[i], t) == 0)
        {
            r = 1;
            c[i]++;
            break;
        }
    return r;
}

int main()
{
    char a[Max];
    char b[M][N];
    char t[N] = {0};
    int c[M] = { 0 };
    int i = 0, j = 0, yes, n = 0;
    gets_s(a);
    //for(i=0;i<=strlen(a);i++)
    do {
        if ((a[i] == ' ') || (a[i] == ',') || (a[i] == '\0'))
        {
            yes = chachong(b, c, t, n);//查重
            if (yes != 1) {
                strcpy(b[n], t);
                c[n] += 1;
                n++;
            }//无重复,写进数组
            memset(t, 0, sizeof(t));
            j = 0;
        }
        else
        {
            t[j] = a[i];
            j++;//存到临时字符串数组
        }
        i++;
    } while (i <= strlen(a));
    //排序(2个)
    //输出
    for (i = 0; i < n; i++)
    {
        printf("%s:%d\n", b[i], c[i]);
    }
}