有人把计数循环说成是变化最多的“万能循环语句”,说明为什么。
所有的循环语句都是万能的:
for (a;b;c)
d;
可以改写成
a;
while(b)
{
d;
c;
}
而
while (a)
b;
可以改写成
for (;a;)
b;
而
while (a)
b
还可以改写成
do
{
if (!a) break;
b;
} while (true);
而
do
{
a;
} while (b);
也可以改写为
while (true)
{
a;
if (!b) break;
}
所以所有的循环都是万能语句
甚至循环和if也是可以互相替换的
比如
if (a)
{
b;
}
可以写
while (a)
{
b;
break;
}
而
while (a)
{
b;
}
可以改写为
loop:
if (a)
{
b;
}
else
{
goto endloop;
}
goto loop;
endloop;