1int alloc_float(f) 2 float f; 3{ union 4 { 5 float f; 6 int i; 7 } 8 u; 9 u.f=f; 10 return u.i&~1; 11} 12 13float c_float(int obj) 14{ union 15 { 16 float f; 17 int i; 18 } u; 19 20 u.i=obj; 21 return u.f; 22} 23 24main() 25{ int x=alloc_float(1.2); 26 int y=alloc_float(5.7); 27 int z=alloc_float(c_float(x)*c_float(y)); 28 29 printf("%g\n",(double)c_float(z)); 30} 31