一个c语言编程1题中的困惑

#include
int main()
{
int num[26]={0},i;
char str[100];
gets(str);
for(i=0;str[i]!=0;i++)
if(str[i]>'A'&&str[i]<'Z')
num[str[i]-'A']++;

for(i=0;i<26;i++)
 if(num[i]>0)
    printf("%d\n",num[i]);

}

img


对字母A没有效果,调试了几遍发现好像就是没有赋值进str[0],求

```

```解惑

供参考:

#include<stdio.h>
int main()
{
    int num[26]={0},i;
    char str[100];
    gets(str);
    for(i=0;str[i]!=0;i++)
        if(str[i]>='A'&&str[i]<='Z') //(str[i]>'A'&&str[i]<'Z')
            num[str[i]-'A']++;

    for(i=0;i<26;i++)
        if(num[i]>0)
            printf("%d\n",num[i]);
    return 0;
}

请你把所有代码都放进 ‘代码块’ 里面。 谢谢