练习5.15
Posted dark-king
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了练习5.15相关的知识,希望对你有一定的参考价值。
5.15:说明下列循环的含义并改正其中的错误。
(a)for (int ix=0;ix != sz; ix++) { /*......*/ }
if(ix !=sz)
//....
(b) int ix;
for(ix != sz; ++ix) {/*.......*/ }
(c) for(int ix=0; ix != sz;++ix, ++sz} {/*......*/}
Ans:a)声明一个int类型的变量ix,并初始化为0,当ix!=sz时,执行循环体中的内容,然后ix++,直到ix==sz时跳出循环,最后判断ix!=sz是否为真,若真,执行if后面的语句。但是ix是for语句头中定义的变量,只在for语句及其循环体中有效。
修改之后:
int ix;
for ( ix=0;ix != sz; ix++) { /*......*/ }
if(ix !=sz)
//....
b)声明一个int类型的变量ix,当ix!=sz时,执行循环体中的内容,然后ix++,直到ix==sz时跳出循环。但是ix没有进行初始化,并且for语句中的init-statement可以省略,但要保留分号。
修改之后:
int ix=0;
for( ; ix != sz; ++ix) {/*.......*/ }
c)这是一个死循环,ix与sz是同步增长的,所以不会达到跳出循环的条件ix==sz。
修改之后:
for(int ix=0; ix != sz;++ix} {/*......*/}
以上是关于练习5.15的主要内容,如果未能解决你的问题,请参考以下文章