foo(a,c)1int foo (a, c) 2 { 3 int b; 4 5 if (a + c >= 0) /* b < 0 ==== a < 10? */ 6 return a | 0x80000000; 7 return 0; 8 } 9 bar(a)10void bar (a) 11 int a; 12 { 13 if (foo (a, 10) & 0x80000000) 14 printf ("y"); 15 else 16 printf ("n"); 17 } 18 main()19int main () 20 { 21 bar (0); 22 bar (1); 23 bar (-1); 24 bar (10); 25 bar (-10); 26 bar (11); 27 bar (-11); 28 bar (0x7fffffff); 29 bar (-0x7fffffff); 30 31 puts (""); 32 return 0; 33 } 34