C编程自增自减

C Programming increment & decrement

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

为什么打印 1 到 10?

我知道post增量发生在循环之后,为什么不显示0?为什么显示 10?

否 .. 在 for 循环中检查第一个条件.. 然后打印 i

我想你要找的是do..while

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

让我们标记循环的元素:

for(/* 1 */ i=0; /* 2 */ i++<10; /* 4 */)
{
    /* 3 */ printf("%d\n",i);
}

结果如下:

  1. i初始化为0
  2. i++的结果与10比较;作为此表达式的 副作用i 增加了 1
  3. 打印出i的更新值;
  4. 如果这里有一个表达式,它将被计算。

重复第 2 步到第 4 步,直到 i++ < 10 计算结果为 false。