C编程循环需要解释

时间:2014-11-29 16:36:55

标签: c loops for-loop

这些for循环语句中的哪一个正好执行其主体三次?

  1. for (i=1; i<4; i++) { /* body */ }

  2. for (i=0; i<=3; i++) { /* body */ }

  3. 我得到的正确答案是(1)但我不知道为什么(2)不正确。

5 个答案:

答案 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(循环执行四次)