题目是先输入一个n,然后输入n个字符串,n和那个字符串每个占一行,即总共占n+1行,然后再分别计算每个字符串中数字的个数,分别输出,每个输出占一行,请看看我的为什么输出只有0和1,到底哪里出错了

img

scanf("%s",str[i]);
str是字符串数组,str[i]才是字符串

修改如下,供参考:

#include<stdio.h>
#include<string.h>
int main()
{
    int n,i=0,j,k,count;
    char str[256][128];
    scanf("%d",&n);
    while(n--){
             scanf("%s",str[i++]);
    }
    k=i;
    for(i=0;i<k;i++){
        count=0;
        for(j=0;str[i][j]!='\0';j++){
            if(str[i][j]>='0'&& str[i][j]<='9')
                count++;
        }
        printf("%d\n",count);
    }
   
    return 0;
}