我可以在迭代的增量部分中编码吗?

问题描述 投票:0回答:1

for 语句的组成为

int i;
for(i=0;i<10;i++)
{
    printf("%d\n",i);
}

可以写成:

int i;
for(i=0;i<10;)
{
    i++;
    printf("%d\n",i);
}

那么,这个语句也可以放在for迭代的初始化、条件和增量中吗?

比如

int i;
for(i=0;i<10;i++,printf("%d\n",i))
{}

我想更准确地了解 for 语句

我尝试过:

int i;
for(i=0;i<10;i++,printf("%d ",i))
{}

打印:1 2 3 4 5 ... 10

int i;
for(i=0;i<10;printf("%d ",i),i++) {}

打印:0 1 2 ... 9

int i;
for(i=0;i<10,printf("%d ",i);i++) {}

无限循环。

int i;
for(i=0;printf("%d ",i),i<10;i++) {}

打印:0 1 2 ... 9

int i;
for(i=0,printf("%d ",i);i<10;i++){}

打印数:0

c for-loop iteration
1个回答
0
投票

传统的(开始时没有声明)

for
循环(http://port70.net/~nsz/c/c11/n1570.html#6.8.5)需要3个可选的
expression
。语法分类为“表达式”的任何内容都适合位于
;
之间。 表达式是一类相当广泛的句子形式。几乎一半的 C 语法描述了表达式

© www.soinside.com 2019 - 2024. All rights reserved.