- 843 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 22:22:30 ]
- >>838の
foo() { cond = true; while (cond) { s1;s2; if (...) {cond = false} s3;s4; } } これは、condが2回目のループでfalseになるとすると、 s1,s2,s3,s4,s1,s2,s3,s4の順で実行される。 で、 foo() { s1;s2; if (!...) {foo();} s3;s4; } これは、2回目のループで(!...)がfalseになるとすると、 s1,s2,s1,s2,s3,s4,s3,s4で実行されるから順番が変わる。そこでs3;s4をifの前に持ってくるわけだ。 すると、 foo() { _loop: s1;s2;s3;s4 if(...) goto _loop; } みんな末尾再帰でgoto使う?
|

|