统计字符串并统计字母个数

我自己看代码没有问题的 但结果运行不出来

#include<stdio.h>
#include<string.h>
int main()
{
    int str[50], i, num=0;
    for(i=0;i<50;i++)
    scanf("%c",&str[i]);
    
    for(i=0;i<50;i++)
    {
    if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')
        num++;
    }
    printf("%d",num);
    
    
    return 0;
}

img

你那个输入得输入50个字符

#include<stdio.h>
#include<string.h>
int main()
{
    char str[50], i, num=0;
    /* for(i=0; i<50; i++)
         scanf("%c",&str[i]);*/
    scanf("%s",str);
    for(i=0; i<strlen(str); i++)
    {
        if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
            num++;
    }
    printf("%d",num);
    return 0;
}

还有个问题,c语言应该是不能处理汉语的

输入循环50次,这个貌似不够五十个字符