C语言-输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母;如果不,则转换成星号

C语言-输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母;如果不,则转换成星号。
这个怎么做

#include <stdio.h>
char fun(char c)
{
      if(c>='A' && c<='Z')
            c += 32;
      else
           c = '*';
      return c;
}
int main()
{
      char c = getchar();
      c = fun(c);
      putchar(c);
      return 0;
}

代码参考如下:

int main(int argc, const char * argv[]) {
    printf("请输入一个字符:");
    char c;
    scanf("%c", &c);
    // 判断是否是大写字母
    if (c >= 'A' && c <= 'Z') {
        // 转换为小写字母
        c = c + 32;
    } else {
        // 不是大写字母转换为 *
        c = '*';
    }
    printf("%c\n", c);
    return 0;
}

看需求没有说小写字母不需要转换,所以这个代码写的是只要不是大写字母就都转换(包括小写字母)。
如果需要小写字母不转换的话,else修改为else if (c < 'a' || c > 'z')即可过滤掉小写字母的情况。