C++运行出来一直是乱码,求大佬解释

P1055 [NOIP2008 普及组] ISBN 号码

Literature666 @ 2024-11-03 15:53:50

#include<iostream>
using namespace std;
#include<string>
int main()
{
    char ch[13];
    int sum=0,k=1,b=0;
    for(int i=0;i<13;i++)
    {
        cin>>ch[13];
    }
    for(int i=0;i<11;i++)
    {
        if(ch[i]!='-')
        {
            b=ch[i]-48;
            sum+=b*k;
            k++;
        }
    }
    if((sum%11)!=10)
    {
        if(sum%11==ch[13])
        {
            cout<<"Right"<<endl;
        }
        else if(sum%11!=ch[13])
        {
            ch[13]=sum;
            for(int i=0;i<13;i++)
            {
                cout<<ch[i];
            }
        }
    }
    else if((sum%11)==10)
    {
        if(ch[13]=='X')
        {
            cout<<"Right"<<endl;
        }
        else if(ch[13]!='X')
        {
            for(int i=0;i<12;i++)
            {
                cout<<ch[i]<<"X"<<endl;
            }
        }
    }

    return 0;
}

为什么输入后点击输出一直是乱码,感觉自己输入没有问题啊,求解析,谢谢大佬们


by Grammar__hbw @ 2024-11-03 16:01:11

@Literature666 ch[13]是UB


by cold_dzy_light @ 2024-11-03 16:07:23

'cin>>ch[13]'

by cold_dzy_light @ 2024-11-03 16:07:43

呃 啊这


by Literature666 @ 2024-11-03 18:25:21

@Grammar__hbw 是指没有定义的意思吗,char不就是在定义了吗


by Literature666 @ 2024-11-03 18:27:09

@cold_dzy_light 我看到了,谢谢你哦


|