我觉得我错过了一些明显的东西,我无法弄清楚。基本上,信息似乎正确地存储在第一个 for 循环中。但是,当我在第二个 for 循环中将其打印出来时,它只有垃圾值。我错过了什么?我对此比较陌生
bignum::bignum(const string &digits)
{
int length = digits.length();
ndigits = 0;
for (int i = 0; i < length; i++)
{
if(isdigit(digits[i]))
{
ndigits++;
digit = new int[ndigits];
int tmpInt = digits[i] - '0';
digit[i] = tmpInt;
}
if(isalpha(digits[i]))
{
break;
}
cout <<"step "<< i << " " << digit[i] << endl;
}
for (int i = 0; i < ndigits; i++)
{
cout << digit[i] << " ";
}
cout << endl;
cout << "digits" << ndigits << endl;
cout << endl;
}