vscode 调试时数据出现明显错误(在其他编译器中正常)

img


如图,很明显的pos中存的值错误,想问是怎么回事,代码在此


#include<bits/stdc++.h>
#define endl '\n'
#define int long long
//long long可以开到1e8,字符型可以开到爆long long
using namespace std;const int inf=1e5+10;
char a[70];
int qpow(int a,int x)
{
int x_=x,pow_=1;
if(x==0)return 1;
do
{
if(x%2) pow_*=a;
a*=a;
}while(x/=2);
return pow_;
}
void dfs(int sum,int m)
{
    if(!sum)return;
    int yu=sum%m;sum/=m;
    dfs(sum,m);
    cout<<a[yu];
}
map<char,int>q;
signed main()
{
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    for(int i=0;i<=62;i++)
    {
        if(i<=9)a[i]='0'+i,q.insert({'0'+i,i});
        if(i>9&&i<=35)a[i]='A'+i-10,q.insert({'A'+i-10,i});
        if(i>35)a[i]='a'+i-36,q.insert({'a'+i-36,i});
    }
    int n,m,sum=0;cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        int t;string l;cin>>t>>l;
        int pos,count=0;
        pos=l.size()-1;
        while(pos>=0)
        {
            sum+=q[l[pos--]]*qpow(t,count++);
        }
    }
    dfs(sum,m);
    return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^