求数字字符的个数,输出不来结果

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果

img

#include
int main()
{ int n,i,t;
  char str[1000];
  scanf("%d",&n);
  getchar();
  while(n--)
  { gets(str);
    for(t=0,i=0;;i++)
    { if(str[i]>=48&&str[i]<=57)
      ++t;
    }
    printf("%d\n",t);
  }
    return 0;
}


#include<stdio.h>
int main()
{ 
    int n,i,t;
    char str[1000];
    scanf("%d",&n);
    getchar();
    while(n--)
    { 
        gets(str);
        t = 0;
        for(i=0;str[i]!='\0';i++)
        {
            if(str[i]>=48&&str[i]<=57) t++;
        }
        printf("%d\n",t);
    }
    return 0;
}