1struct foo { int i; int j; }; 2 3int bar (struct foo *k, int k2, int f, int f2) 4{ 5 int *p, *q; 6 int res; 7 if (f) 8 p = &k->i; 9 else 10 p = &k->j; 11 res = *p; 12 k->i = 1; 13 if (f2) 14 q = p; 15 else 16 q = &k2; 17 return res + *q; 18} 19 20extern void abort (void); 21 22int main() 23{ 24 struct foo k; 25 k.i = 0; 26 k.j = 1; 27 if (bar (&k, 1, 1, 1) != 1) 28 abort (); 29 return 0; 30} 31