#include int g1(int x); int g2(int *p); int g3(int *p); void foo(); void f1() { int i=17; int j=g1(i); printf("Inside f1: %d %d\n",i,j); // foo(); } int g1(int x) { x = x + 1; return x + 1; } void foo() { printf("Inside foo\n"); } void f2() { int i=17; int j=g2(&i); printf("Inside f2: %d %d\n",i,j); } int g2(int* p) { (*p) = (*p) + 1; return (*p) + 1; } void f3() { int i=17; int j=g3(&i); // printf("Inside f3: %d %d\n",i,j); } int g3(int* p) { int k = *p; int *q = &k; p = q; (*p) = (*q) + 1; return (*q) + 1; } int main() { f1(); f2(); f3(); return 0; }