Вывести адрес переменной в Си без `printf`

Георгий Соминский

Допустим у меня есть переменная, я записываю ее адрес в указатель. Как мне без printf вывести адрес указателя и адрес переменной которая хранится в указателе?

1 ответ

Георгий Соминский

В комментарий не втиснусь, так что в ответе... См. тут - http://ideone.com/jVhnOs

int main(int argc, const char * argv[])
{ int a; printf("%p\n",&a); intptr_t p = (intptr_t)&a; char s[2*sizeof(p)]; for(int i = 2*sizeof(p)-1; i >= 0; --i) { s[i] = "0123456789ABCDEF"[p & 0x0F]; p >>= 4; } for(int i = 0; i < 2*sizeof(p); ++i) { putc(s[i],stdout); }
}

licensed under cc by-sa 3.0 with attribution.