ときどきの雑記帖 (null)編で見たプログラム。
void send(short *to, short *from, int count) { int n=(count+7)/8; switch(count%8){ case 0: do{ *to = *from++; case 7: *to = *from++; case 6: *to = *from++; case 5: *to = *from++; case 4: *to = *from++; case 3: *to = *from++; case 2: *to = *from++; case 1: *to = *from++; }while(--n>0); } }
最初、ただのswitch文かと思ったら、switch文の中にdo-whileのループが入っている。こんな書き方できるんだとびっくり。そして、まだちゃんと理解できていない。