为什么在for循环中使用分号而不是coma?
通常,C中的所有函数参数都用逗号分隔,例如printfData,&a 但是对于for循环,参数用分号fori=0分隔;我因为我是一个操作员,可以做如下事情为什么在for循环中使用分号而不是coma?,c,function,loops,C,Function,Loops,通常,C中的所有函数参数都用逗号分隔,例如printfData,&a 但是对于for循环,参数用分号fori=0分隔;我因为我是一个操作员,可以做如下事情 for (i=0,j=5; i<5; ++i, ++j) 表达式-3在 循环体的每次执行。如果第1条是声明,则 它声明的任何变量的范围都是声明的剩余部分 和整个循环,包括其他两个表达式;它是 在第一次评估 控制表达。如果子句-1是表达式,则对其求值 作为控件第一次求值之前的空表达式 表达式1.133 Both clause-1 and
for (i=0,j=5; i<5; ++i, ++j)
表达式-3在
循环体的每次执行。如果第1条是声明,则
它声明的任何变量的范围都是声明的剩余部分
和整个循环,包括其他两个表达式;它是
在第一次评估
控制表达。如果子句-1是表达式,则对其求值
作为控件第一次求值之前的空表达式
表达式1.133
Both clause-1 and expression-3 can be omitted. An omitted expression-2 is replaced by a nonzero constant.
133) Thus, clause-1 specifies initialization for the loop, possibly declaring one or more variables for use in the loop; the
控制表达式,表达式-2,指定所做的计算
在每次迭代之前,循环的执行一直持续到
表达式比较等于0;表达式-3指定了一个
每次操作后执行的操作,例如递增
迭代
1.语句用半线分隔。2.由此产生的歧义将产生问题。3.因为C标准是这样说的。for不是一个函数,它是该语言的一个关键字。你对此有参考吗?这似乎是个不太可能的原因。
Both clause-1 and expression-3 can be omitted. An omitted expression-2 is replaced by a nonzero constant.
133) Thus, clause-1 specifies initialization for the loop, possibly declaring one or more variables for use in the loop; the