这些for
循环语句中的哪一个正好执行其主体三次?
for (i=1; i<4; i++) { /* body */ }
for (i=0; i<=3; i++) { /* body */ }
我得到的正确答案是(1)但我不知道为什么(2)不正确。
答案 0 :(得分:1)
第一个。原因是当i
为1,2和3时它将循环,当i
为4时将停止,因为i<4
变为false,从而循环3次。
第二个是不正确的,因为它会循环4次,即当i
为0,1,2,3并且当i
为4时将停止,因为i<=3
变为false
答案 1 :(得分:1)
如果考虑到这种情况,一切都很简单
i <= 3
相当于条件
i < 4
因此,如果在第二个循环中用条件i <= 3
替换等效条件i < 4
那么循环
2.for (i=0; i <= 3; i++) { /* body */ }
可以像
一样重写2.for (i=0; i < 4; i++) { /* body */ }
现在将它与第一个循环
进行比较1.for (i=1; i < 4; i++) { /* body */ }
2.for (i=0; i < 4; i++) { /* body */ }
正如所见,第一个循环从i = 1开始,而第二个循环从i = 0开始。因此第二个循环比第一个循环多一次迭代。正如您所说的那样,第一个循环有3次迭代,然后第二个循环有四次迭代。:)
答案 2 :(得分:0)
第二个循环执行四次:i = 0,1,2和3各执行一次。第一次执行三次,每次执行一次i = 1,2和3.这里重要的事实是迭代第一个循环中的变量初始化为1,但第二个循环中的迭代变量初始化为0。
答案 3 :(得分:0)
在数字2中它不会停止,直到我变得等于4.当我命中3时循环继续运行,因为我等于3是它继续前进的命令之一。
答案 4 :(得分:0)
1:
i的限制从1到小于4,表示结束值为3.(因为i是整数,小于4的最佳可能值是3)。
所以:
i=1, i=2, i=3
(循环执行三次)
同样适用于2:
i的限制是从0到小于等于3,表示结束值为3.
所以:
i=0,i=1,i=2,i=3
(循环执行四次)