为什么会产生段错位呢?好心人帮忙回答一下。

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string A = "0123456789ABCDEFGHIJKLMNOPQRSTUV";
    string  str;
    while (cin >> str)
    {
        string str1=" ";
             int t=1,num=0;
             int i=str.length()-1;
                for(int j=0;i-j>4;j++)
                {
                    num = num+(str[i-j]-'0')* t;
                    t=t*2;
                    }
                str1=A[num];
                num=0;
                  t=1;
              for(int a=0;a<=4;a++)
                     {
                    num += (str[a]-'0') * t;
                    t=2*t;
                    }
            str1+=A[num];
     cout << str1<<endl;
    }#学习路径#
全部评论
就比如你的输入内部如果有Z,num这如何保证不会超过A数组的大小?
点赞 回复 分享
发布于 2021-06-02 15:55
num这个数字如何保证不会越界的?
点赞 回复 分享
发布于 2021-06-02 15:53

相关推荐

代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务