请各位专家们帮我看一下这段代码问题出在哪里,运行后系统停在i=2时并且报错:
#include <iostream>
using namespace std;
int main()
{
/*编写一个程序,输出一张表,内容是1~256范围内每个十进制数对应的二进制数、八进制数和十六进制数形式。
第1行是标题,用制表符整齐格式(根据输出情况调整)显示数值表。提示,八进制数和十六进制数可以直接输出。*/
cout << "decimal" << "\t\t" << "binary" << "\t\t" << "octal" << "\t\t" << "hexadecimal" << "\t\t" << endl;
int i, j;
for (i = 1; i <= 256; i++)
{
int a[12];
int n = 1;
cout << i << "\t\t";
for (j = 0; n > 0; j++)
{
a[j] = i % 2;
n = i / 2;
}
for (j--; j >= 0; j--)
{
cout << a[j];
}
cout << "\t\t" << oct << i << "\t\t" << hex << i << "\t\t" << endl;
}
system("pause");
return 0;
}