1 int ffs(x)2ffs (x) 3 int x; 4 { 5 int bit, mask; 6 7 if (x == 0) 8 return 0; 9 10 for (bit = 1, mask = 1; !(x & mask); bit++, mask <<= 1) 11 ; 12 13 return bit; 14 } 15 f(x)16f (x) 17 int x; 18 { 19 int y; 20 y = ffs (x) - 1; 21 if (y < 0) 22 abort (); 23 } 24 main()25main () 26 { 27 f (1); 28 exit (0); 29 } 30