alloc_float(f)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 c_float(int obj)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 main()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