for(;i<n;i++)跟for(i<n;i++)的区别在哪

for(;i<n;i++)跟for(i<n;i++)的区别在哪

C 语言中 for 循环的语法:
for ( init; condition; increment )
init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。


for(;i<n;i++) 是init 为空,i变量可以在之前声明并初始化好。

而for(i<n;i++)就不对了、这样i<n 成了init , i++ 成了condition , increment 为空

第一个是对的哦 for循环规定必须要有两个';'符号
其中的三个表达你可以空0,1,2甚至全空

区别就在于一个是正确写法,一个是错误写法
你要问为什么的话,因为这是规定,就好比为什么'我'这个字的笔画为什么要那么写,统一规定呗