急求:关于指针的有关问题

急求:::关于指针的问题
#include <iostream.h > 

void print(const int num){ 
int *pnum; 
int onum=num; 
int i=0; 
for(;onum!=1 ¦ ¦onum!=0;i++){ 
*(pnum++)=onum%2; 
onum/=2; 

*pnum=onum; 
for(;i!=0;i--) 
cout < <*(pnum--); 


void main(){ 
int num=123456789; 
cout < <"二进制的值为:"; 
print(num); 
cout < < '\n '; 

这个程序哪错了,请指教

------解决方案--------------------
C/C++ code

#include   <iostream.h  >  

void print(const int num){  
  int bitBuf[32];
  int *pnum = &bitBuf[0];  
  int onum=num;  
  int i=0;  
  for(;onum!=1 ¦ ¦onum!=0;i++){  
    *(pnum++)=onum%2;  
    onum/=2;  
  }  
  *pnum=onum;  
  for(;i!=0;i--)  
    cout  << *(pnum--);  
}  

void main(){  
  int num=123456789;  
  cout  <  <"二进制的值为:";  
  print(num);  
  cout  <<  '\n  ';  
}