繁体   English   中英

C 编程递增和递减

[英]C Programming increment & decrement

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

为什么要打印 1 到 10?

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

没有 .. 在 for 循环中首先检查条件.. 然后你正在打印i For循环图

我认为你正在寻找的是做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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM