C 编程增量和减量

标签 c post-increment

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

为什么打印 1 到 10?

我知道后增量发生在循环之后,那么为什么它不显示 0?为什么显示为 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。

关于C 编程增量和减量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32928243/

相关文章:

c - 结构实例和名称之间的区别

c - STM32F407 USART1 : Clearing USART_FLAG_TC requires pgm to be halted before actually clearing the bit

java - java 中 b=+1 的不同输出

c - 在 printf 中发布增量和指针

java - 为什么在 while 循环中递增 int 原语不会永远循环

c - 如何在字符串中搜索字符串? C

c - 如何将文件夹位置作为 C 中此文件夹锁定代码的输入?

c - 如何将日期添加到日期时间字符串?

c# - 自赋值后递增