输出多行字符数组中的数字字符个数

#include<stdio.h>
#include<string.h>
int main(void)
{
/Begin/
int n,i,k,j;
scanf("%d",&n); //字符串个数
char str[i][j];
for(i=0;i<n;i++){
scanf("%s",str[i]);
} //使用二维数组得到多组字符串
for(i=0;i<n;i++){
k=0; //对每行的数字个数都先初始化为0
for(j=0;str[i][j]!='\n';j++){ //注意循环结束条件
if(str[i][j]>='0'&&str[i][j]<='9'){
k++; //统计每一行数字字符个数
}
} printf("%d\n",k); //输出每行数字字符个数 (在第二层循环中)
}

/*********End**********/
return 0;

}

img

img


输出一行字符串就是对的,输出两行就只有2个一样的数,都是第二行的数字字符数😭


#include<stdio.h>
#include<string.h>
int main(void)
{
    int n,i,k,j;
    scanf("%d",&n); //字符串个数
    char str[100][512];
    for(i=0;i<n;i++){
        scanf("%s",str[i]);
    } //使用二维数组得到多组字符串
    for(i=0;i<n;i++){
        k=0; //对每行的数字个数都先初始化为0
        for(j=0;str[i][j]!='\n';j++){ //注意循环结束条件
            if(str[i][j]>='0'&&str[i][j]<='9'){
                k++; //统计每一行数字字符个数
            }
        } printf("%d\n",k); //输出每行数字字符个数 (在第二层循环中)
    }
    /*********End**********/
    return 0;
}

img