编写函数,删除out所指向的字符串中的小写字母

题目如下:编写函数fresh(char *novel, char *out),它的功能是删除out所指向的字符串中的小写字母,并将所得到的新串存入novel中。我的代码报错,请帮我看看如何修改。

#include <stdio.h>
void search(int month);
int main()
{printf("请输入月份:");
int n;
char *p;
scanf("%d",n);
search(n);
printf("%s",*p);
}
void search(char *p,int month)
{char s[13]={"'yue'","'January'","'February'","'March'","'April'","'May'","'June'","'July'","'August'","'September'","'October'","'November'","'December'"};
p=&s[month];
}

img


这里我使用while和isupper检查每个字符,大写字母则存储到新的字符串中,否则跳过:


#include <stdio.h>
#include <ctype.h>


void fresh2(char *novel, char *out) {
    while (*out && *novel != '\\0') {
        if (isupper(*out)) {
            *novel++ = *out++;
        } else {
            ++out;
        }
    }
    *novel = '\\0';
}

int main() {
    char out[101], novel1[100], novel2[100];
    printf("请输入字符串:\n");
    scanf("%100s", out);
    fresh2(novel2, out);
    
    printf("去除小写字母后的新串为:%s\n", novel2);
    return 0;
}

你的代码里哪有fresh?