下列for语句的循环次数是()
int sum = 0; for (int i=1;i<=5;sum++) sum+=i;
- _-选A
循环判出条件是i>5时,但是i从定义int i = 1之后没有作为左值被修改过,只有sum的值在变换,因此这是一个死循环。
我觉得选A:
选A的理由:
设sum=1;我们可以看一下程序中“i”的变化:
for (int i=1;i<=5;sum++)
sum+=i;
第一次: i=1,(sum+=i) sum=sum+i , sum=1+1 ,"i"没有任何变化
第二次: i=1(第一次没有i改变的大小),(sum+=i) sum=sum+i , sum=2+1 ,"i"没有任何变化
从上面得知,每一次循环只使sum加了一,而i一直都是==1的,更不可能等于>5,所以这是无限循环的,故选A;
不选D的理由:
for循环通常情况是由下列几部分组成的:
for(初始化表达式①;循环条件表达式②;循环后的操作表达式③)
{
执行语句④;(循环体)
}
但几个条件不一定是 ※ 固定 的!!!,例如题目中“for (int i=1;i<=5;sum++)”是没有错的,只是说,这样的语句是不常见的。
(不信可以在c++上跑一跑)
以上回答仅供参考!!