我做了一個程序,它Ñ十進制數SK轉換爲其它數值系統p但有時它崩潰和錯誤代碼我得到的是0000005(程序仍然轉換,並輸出所有的數字) 。有一件事我只注意到它發生轉換後的數字超過6個符號(或者它只是一個巧合)。C++隨機0000005誤差
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
long n,sk,p,j;
string liekanos;
ifstream f("u1.txt");
f >> n;
for (int i=0;i<n;i++)
{
f >> sk >> p;
j=0;
while (sk>0)
{
liekanos[j]=sk % p;
sk/=p;
j++;
}
for (j>=0;j--;)
{
if (liekanos[j]<10)
cout<<int(liekanos[j]);
else cout<<char(liekanos[j]+55);
}
cout<<endl;
}
return 0;
}
例輸入:
3
976421618 7
15835 24
2147483647 2
只要你知道,'0xC0000005'是訪問衝突(壞指針)的錯誤。它通常意味着程序中的指針處理或內存分配存在缺陷。 – japreiss 2012-03-05 17:37:55