1 /* 2 * Count the digits of @val including a possible sign. 3 * 4 * (Typed on and submitted from hpa's mobile phone.) 5 */ num_digits(int val)6int num_digits(int val) 7 { 8 int m = 10; 9 int d = 1; 10 11 if (val < 0) { 12 d++; 13 val = -val; 14 } 15 16 while (val >= m) { 17 m *= 10; 18 d++; 19 } 20 return d; 21 } 22