Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- void foo1() {
- printf("\nfoo1\n");
- int mem[3];
- mem[0] = 10;
- mem[1] = 13;
- mem[2] = 16;
- int* stack = mem;
- printf("mem[0]: %d\n", mem[0]);
- printf("mem[1]: %d\n", mem[1]);
- printf("mem[2]: %d\n", mem[2]);
- printf("push 20\n");
- *++stack = 20;
- printf("push 23\n");
- *++stack = 23;
- printf("mem[0]: %d\n", mem[0]);
- printf("mem[1]: %d\n", mem[1]);
- printf("mem[2]: %d\n", mem[2]);
- printf("pop: %d\n", *stack--);
- printf("pop: %d\n", *stack--);
- printf("mem[0]: %d\n", mem[0]);
- printf("mem[1]: %d\n", mem[1]);
- printf("mem[2]: %d\n", mem[2]);
- }
- void foo2() {
- printf("\nfoo2\n");
- int mem[3];
- mem[0] = 10;
- mem[1] = 13;
- mem[2] = 16;
- int* stack = mem;
- printf("mem[0]: %d\n", mem[0]);
- printf("mem[1]: %d\n", mem[1]);
- printf("mem[2]: %d\n", mem[2]);
- printf("push 20\n");
- *++stack = 20;
- printf("push 23\n");
- *++stack = 23;
- printf("mem[0]: %d\n", mem[0]);
- printf("mem[1]: %d\n", mem[1]);
- printf("mem[2]: %d\n", mem[2]);
- printf("pop: %d\n", (*stack)--);
- printf("pop: %d\n", (*stack)--);
- printf("mem[0]: %d\n", mem[0]);
- printf("mem[1]: %d\n", mem[1]);
- printf("mem[2]: %d\n", mem[2]);
- }
- void foo3() {
- printf("\nfoo3\n");
- int mem[3];
- mem[0] = 10;
- mem[1] = 13;
- mem[2] = 16;
- int* stack = mem;
- printf("mem[0]: %d\n", mem[0]);
- printf("mem[1]: %d\n", mem[1]);
- printf("mem[2]: %d\n", mem[2]);
- printf("push 20\n");
- *++stack = 20;
- printf("push 23\n");
- *++stack = 23;
- printf("mem[0]: %d\n", mem[0]);
- printf("mem[1]: %d\n", mem[1]);
- printf("mem[2]: %d\n", mem[2]);
- printf("pop: %d\n", *(stack--));
- printf("pop: %d\n", *(stack--));
- printf("mem[0]: %d\n", mem[0]);
- printf("mem[1]: %d\n", mem[1]);
- printf("mem[2]: %d\n", mem[2]);
- }
- int main(int argc, char** argv) {
- foo1();
- foo2();
- foo3();
- return 0;
- }
- /* output:
- foo1
- mem[0]: 10
- mem[1]: 13
- mem[2]: 16
- push 20
- push 23
- mem[0]: 10
- mem[1]: 20
- mem[2]: 23
- pop: 23
- pop: 20
- mem[0]: 10
- mem[1]: 20
- mem[2]: 23
- foo2
- mem[0]: 10
- mem[1]: 13
- mem[2]: 16
- push 20
- push 23
- mem[0]: 10
- mem[1]: 20
- mem[2]: 23
- pop: 23
- pop: 22
- mem[0]: 10
- mem[1]: 20
- mem[2]: 21
- foo3
- mem[0]: 10
- mem[1]: 13
- mem[2]: 16
- push 20
- push 23
- mem[0]: 10
- mem[1]: 20
- mem[2]: 23
- pop: 23
- pop: 20
- mem[0]: 10
- mem[1]: 20
- mem[2]: 23
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement