用指针实现无符号整数与IP地址的转换

输入一个无符号整数,输出ip地址的形式,要求用指针实现,大概思路应该是将整数转化为二进制,然后每八个数为一组转化成十进制,在输出

#include<stdio.h>
int main()
{
    unsigned int a=127463984756;
    int k,i=0,j;
    int num[70];
    while(a!=0)
    {
        k=a%2;
        a=a/2;
        num[i++]=k;
     } 
     for(j=i-1;j>=0;j--)
     printf("%d",num[j]);
     int *p;
     for(p=num;p<(num+8);p++)
     printf("%d",*p);
     return 0;
}

为什么后面使用指针打印不出来

img

#include<stdio.h>
int main()
{
    unsigned long long a=127463984756;
    int k,i=0,j;
    int num[70];
    while(a!=0)
    {
        k=a%2;
        a=a/2;
        num[i++]=k;
     } 
    
     for(j=i-1;j>=0;j--)
     printf("%d",num[j]);
     printf("\n");

     int *p;
     for(p=num;p<(num+8);p++)
     printf("%d",*p);
     return 0;
}

1110110101101011100100000111001110100
00101110