#include int *p1, *p2, *p3, *p4; void fun1(int x, int y) { static int w; int z; w = x * y; z = x + y; printf("Inside fun1\n"); p1 = &w; p2 = &x; p3 = &y; p4 = &z; printf("Address of p1 = %p, address of p2 = %p, address of p3 = %p, address of p4 = %p\n", &p1, &p2, &p3, &p4); printf("Address of w = %p, address of x = %p, address of y = %p, address of z = %p\n", p1, p2, p3, p4); printf("w = %d, x = %d, y = %d, z = %d\n", w, x, y, z); } int fun2(int f, int g, int h) { printf("\nInside fun2\n"); printf("w = %d, x = %d, y = %d, z = %d\n", *p1, *p2, *p3, *p4); return f + g + h; } int main() { int a = 5, b = 6, c; fun1(a, b); printf("\nOutside fun1\n"); printf("w = %d, x = %d, y = %d, z = %d\n", *p1, *p2, *p3, *p4); fun2(1, 2, 3); printf("\nOutside fun2\n"); printf("w = %d, x = %d, y = %d, z = %d\n", *p1, *p2, *p3, *p4); }