他の言語だと怒られそうな書き方がまかり通るのがCの楽しいとこ

void hoge( char *in, char *out[4] ){
while(*in) *out[ 'a'<=*in && *in<='z' ? 0
: 'A'<=*in && *in<='Z' ? 1
: '0'<=*in && *in<='9' ? 2
: 3 ]++ = *in++;
*out[0]=*out[1]=*out[2]=*out[3]='\0';
}