1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
double glob_dbl; f (pdbl, value) double *pdbl; double value; { if (pdbl == 0) pdbl = &glob_dbl; *pdbl = value; } main () { f ((void *) 0, 55.1); if (glob_dbl != 55.1) abort (); exit (0); }