for循环中的分号和逗号

时间:2014-10-20 14:56:10

标签: c loops

for( i=0, i<3, i=i+1 )

for( i=0; i<4; i++ )

我不明白为什么他们是一样的。

for( i=0, i<3, i=i+1 )
将以i = 0开始,然后i = 0 + 1 = 1,i = 1 + 1 = 2,i = 2 + 1 = 3,然后3不满足i <3,则应关闭。所以到最后,它重复只有3次不是吗? (i = 0,1,2)

for( i=0; i<4; i++ )
将以i = 0开始,然后i = 1,i = 2,i = 3,当达到i = 4时,4不满足i <4,则应该关闭。所以最后重复4次(i = 0,1,2,3)。

我错了吗?

1 个答案:

答案 0 :(得分:7)

这个

for( i=0, i<3, i=i+1 )

是无效的构造,不会被编译。

所以这些结构不一样,:))

如果你在第一个结构中用逗号代替分号

for( i=0; i<3; i=i+1 )

在任何情况下它们都不会相同,因为第一个循环只有3次迭代,而第二个循环将有4次迭代。