Consider the following declarations: int a[10]; int *p=a; Which among the following is portable way to print value of pointer p?
printf("%d\n",p);
printf("%u\n",p);
printf("%lu",p);
printf("%p\n",(void*)p);