>>58
最後にセミコロンを付けてしまうと、
do{}while(0) を使う意味がなくなる
と思いますが?