没有什么优缺点,只是适用的场合不同而已。for循环更适用于循环的开始和结束已知,循环次数固定的场合;while循环更适合于条件不确定的场合。
for和while在效率上几乎是一样一样的
只是for和do while 上有点语法上区别 我想楼主你也知道的
for适合于循环次数固定的场合。
while适合于退出循环的条件是一个表达式的场合
用处略有区别而已.
for用于开始和结束都比较确定的场合,
while多用于条件判断.
eg:
while(!feof(...))
{
}
其实for和while是一样的
譬如:
main()
{
int x;
int sum=0;
for(x=0;x<5;x++)
sum=sum+x;
}
可以转化成
main()
{
int x;
int sum=0;
x=0;
while(x<5)
{
sum=sum+x;
x++;
}
}
就完全一样了,for和while配合break的使用情况也完全一样的
for的好处就是在先判断后执行的情况下,或者是在顺序寻找数组位置的时候比较方便,一句话就解决了
while的好处就是在do...while结构里面,可以先执行一次循环体再判断,如果用for来代替的话,就需要变成:
循环体;
for(...;...;...)
循环体;
的形式了,比较麻烦