%p is for printing an address but you need to use the ampersand i.e. & operator before i to get the address of i. So to get the address of variable i the correct format will be: void main() { int i=85; printf("%p %Fp", &i, &i); getch(); } if you don't use & then u will just get the value contained in i which in this case is 85 or 55 in hex More @Wikipedia
Hover over any link to get a description of the article. Please note that search keywords are sometimes hidden within the full article and don't appear in the description or title.