关于while与for的差别问题
因为for(int i=0;;){}for循环完了之后,i所占的内存自动释放所以表达式for(表达式1;表达式2;表达式3){循环体}与表达式1;while(表达式2){循环体表达式3;}是有差别的,对不对,请问高手们,还有什么其他差别吗?谢谢各位了!
参考答案:你所说的差异只存在于C++中,C语言不存在,因为C++可以在任何位置定义数据。其它的就没什么差异了,这两个的功能可以互换。
补充:在C++中也可以等效
for(int i=0;i<10;i++);
跟下面等效:
while(1){
static int i=0;
if(++i>=10)break;
}
i的作用域都只是循环体。
这种情况下用for更容易让人接受