如何使用2个数组(60个字符)存放2行字符串,分别统计出其中的英文字母、数字、空格及其他字符的个数?(语言-c语言)

使用2个数组(60个字符)存放2行字符串,分别统计出其中的英文字母、数字、空格及其他字符的个数。

#include
#include

int main()
{
    int num1=0,num2=0,num3=0,num4=0; //英文字母 数字 空格 其他字符
    int n=60;
    int m=60;
    int i,j;
    char str1;
    char str2;
    char a[60];
    char b[60];
    
    for( i=0; iscanf("%c",&a[i]);
    }
    for( j=0; jscanf("%c",&a[j]);
    }

    while((str1 = getchar(a)) != '\n'){
        if (str1 >= 'a' && str1 <='z' || str1 >= 'A' && str1 <= 'Z'){
            num1++;
        } else if(str1 >= '0' && str1 <= '9' ) {
            num2++;
        } else if(str1 == ' ') {
            num3++;
        } else {
            num4++;
        }
    }
    printf("字母的数量:%d\n",num1);
    printf("数字的数量:%d\n", num2);
    printf("空格的数量:%d\n", num3);
    printf("其他:%d\n",num4);

    num1 = num2 = num3 = num4 = 0;
    while((str2 = getchar(b)) != '\n'){
        if (str2 >= 'a' && str2 <='z' || str2>= 'A' && str2 <= 'Z'){
            num1++;
        } else if(str2 >= '0' && str2 <= '9' ) {
            num2++;
        } else if(str2 == ' ') {
            num3++;
        } else {
            num4++;
        }
    }
    printf("字母的数量:%d\n",num1);
    printf("数字的数量:%d\n", num2);
    printf("空格的数量:%d\n", num3);
    printf("其他:%d\n",num4);
    
    system("pause");
    return 0;

    
}

         运行结果及报错内容 无法控制读入的字符数量为60(好像输入的字符根本没存到数组里面或者根本没从数组里面读字符)

         思路 先用for循环将字符存到数组里面再用getchar函数(不知到怎么用getchar读取数组中的字符)或者for循环读入数组中的字符判断各种字符类型的个数;

        问题:1.如何将字符存到数组当中以及如何用gtechar读取数组中的字符
                    2.如果用循环来读入数组中的字符那么跳出循环的条件是什么(自己想的是用一个计数器每次循环后加一 直到加到60为止 好笨的方法qwq)

本人全靠自学 希望有人指点一二 感谢!

for( i=0; i<n; i++){
        scanf("%c",&a[i]);
    }
    for( j=0; j<m; j++){
        scanf("%c",&a[j]);
    }

改成:

fgets(a, 60, stdin);
fgets(b, 60, stdin);

img

改了现在运行后能输入好多个字符但统计不了数量