I'm trying to come up with with shortest C function (including spaces, any macros that are substituted into it) possible that is passed a NULL-terminated string and returns the number of spaces in that string. This is what I've got so far:
int n(char*l){return*l?!(*l-32)+n(++l):0;}
Which is 42 characters long. Any improvements?