do{}while(0);は一回で終わることが保証されてるから安心して使って良い