post增量运算符将for循环运行到无限循环中

时间:2017-02-02 19:04:35

标签: loops post-increment

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

以下代码正在运行无限循环。任何人都可以帮助我理解为什么吗?

1 个答案:

答案 0 :(得分:0)

由于线i = i ++,它的无限循环如下工作。 (假设i = 1)
1)&#39;我&#39;增加1.(所以i = 2)
2)i ++的值,即递增前的值被分配给&#39; i&#39;。 (所以我= 1)

所以,&#39; i&#39;不会改变,条件&#39; i&lt; 10&#39;永远不会错,从而导致无限循环。