Gravatar Avatar

Examine Stack #2

By: a guest on May 1, 2013  |  syntax: C  |  size: 0.5 KB  |  hits: 75  |  expires: never
download  |  raw  |  embed  |  report abuse
Copied
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.     int a = 1;
  5.     *(&a - 1) = 5;
  6.     printf(\"a=%d, *(&a-1)=%d\\n\", a, *(&a-1));
  7.    {
  8.        int b = 12;
  9.        printf(\"&a=0x%p, &b=0x%p\\n\", &a, &b);
  10.        printf(\"a=%d, *(&a-1)=%d\\n\", a, *(&a-1));
  11.        // printf(\"b=%d\\n\", b);
  12.    }
  13.    printf(\"a=%d, *(&a-1)=%d\\n\", a, *(&a-1));
  14.    return 0;
  15. }
  16.  
  17. /* I get:
  18. a=1, *(&a-1)=5
  19. &a=0x0x7fff54072604, &b=0x0x7fff54072600
  20. a=1, *(&a-1)=12
  21. a=1, *(&a-1)=12
  22. */
RAW Paste Data