你申请一个int *pi,这个指针只能用来保存地址,而不能对其进行赋值,因为系统并未对其分配空间。所以必须使用动态内存分配。
例如int *pi = new int[100];
这样*pi就指向了一段能保存100个整型数的内存的首地址。
最后记得delete[] pi;
cout<<*pi<<" ";
这等于最后输出的只是一个数呀,是错的。可以改成这样的;
void ConvertInteger(int inum)
{
int *pi;
while(inum!=0)
{
*pi++=inum%2;
inum=inum/2;
}
while(*pi!=\0)
{
cout<<*pi<<" ";
*pi--;
}
}
这样应该就可以吧,可以是倒序输出了。