for循环中的分号和逗号

1 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).

我错了吗?

Vla*_*cow 7

这个

for( i=0, i<3, i=i+1 )
Run Code Online (Sandbox Code Playgroud)

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

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

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

for( i=0; i<3; i=i+1 )
Run Code Online (Sandbox Code Playgroud)

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