c语言有人能翻译一下这段代码吗越详细越好

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
char str[30];//定义长度30
printf("输入字符串:");
scanf("%[^\n]", str);//输入随机数组
int a, b;//变量

for (a = 0; str[a] != '\0'; ++a)//只要str[a]还不是字符串结束的位置,那么这个循环就会继续
{
    while (str[a] >= 'a' && str[a] <= 'z')//小写字母a到z
    {
        for (b = a; str[b] != '\0'; ++b)
        {
            str[b] = str[b + a];
        }
        str[b] = '\0';
    }
}
printf("移除小写字母后,字符串为:%s\n", str);
return 0;

}

输入一个字符串,然后遍历字符串,对每个字符进行判断,是否为小写字母,如果是就将当前小写字母移除(从当前小写字母位置开始,将后面的字符依次向前移动),达到删除小写字母的效果。

代码写错了,应该是str[b]=str[b+1]吧。找到小写字母删掉,将该字母后面的字符全部向前移动一位