csdn上的一道编程问题,vs运行结果ok,但是网页上自测不通过

csdn上的一道编程题
原网页如下
https://edu.csdn.net/skill/program/28784?practiceId=9042983

vs中的代码


// 请关闭中文输入法,用英文的字母和标点符号。
// 如果你想运行系统测试用例,请点击【执行代码】按钮,如果你想提交作答结果,请点击【提交】按钮,
// 注意:除答案外,请不要打印其他任何多余的字符,以免影响结果验证
// 本OJ系统是基于 OxCoder 技术开发,网址:www.oxcoder.com
// 模版代码提供基本的输入输出框架,可按个人代码习惯修改



#include 
#include

void solution(char m[], char n[]){
// 将此段代码粘贴到网页中   开始
    int baseBig[26]={0};
    int baseSmall[26]={0};
    int txtBig[26]={0};
    int txtSmall[26]={0};
    int i,j,z;
    int flag = 0;
    for(i = 0 ; i<10000;i++){
        if((m[i]<='Z')&&(m[i]>='A')){
            baseBig[m[i]-'A']++;
        } else if((m[i]<='z')&&(m[i]>='a')){
            baseSmall[m[i]-'a']++;
        }
    }
    for(j = 0 ; j<10000;j++){
        if((n[j]<='Z')&&(n[j]>='A')){
            txtBig[n[j]-'A']++;
        } else if((n[j]<='z')&&(n[j]>='a')){
            txtSmall[n[j]-'a']++;
        }
    }
    for(z=0;z<26;z++){
        if((txtBig[z]>baseBig[z])||(txtSmall[z]>baseSmall[z])){
            flag = 1;
            break;
        }else{

        }
    }
    
    
//    for(z=0;z<26;z++){
//        printf("z=%d,baseBig:%d,baseSmall:%d,txtBig:%d,txtSmall:%d\n",z,baseBig[z],baseSmall[z],txtBig[z],txtSmall[z]);
//    }
    if(flag==1){
        printf("No");
    } else{
        printf("Yes");
    }

// 将此段代码粘贴到网页中   结束
}


int main() {

    char m[10000];
    char n[10000];
//  scanf("%s", m);
//    scanf("%s", n);

    gets(m);
    gets(n);

    solution(m, n);

    return 0;
}

vs测试运行结果

img

将调试log输出

img

但是在网页上运行的结果

img

将网页上调试log输出

img

img

请问运行结果不一致的原因是什么呢?如何修改呢?

2个for判断修改,fgets会带回末尾的回车符。

for(i = 0 ; m[i]!='\n';i++){
for(j = 0 ;n[j]!='\n';j++){

输入修改,gets已经淘汰了,会报错
fgets(m,10000,stdin);
fgets(n,10000,stdin);