【发布时间】:2017-06-20 00:04:15
【问题描述】:
int i;
for(i=0; i<10; )
{
i=i++;
printf("Hello\n");
}
以下代码运行到无限循环。谁能帮我理解为什么?
【问题讨论】:
标签: loops post-increment
int i;
for(i=0; i<10; )
{
i=i++;
printf("Hello\n");
}
以下代码运行到无限循环。谁能帮我理解为什么?
【问题讨论】:
标签: loops post-increment
它是一个无限循环,因为 i = i++ 的工作原理如下。 (假设 i = 1)
1) 'i' 加 1。(所以 i = 2)
2) i++ 的值,即递增前的值分配给“i”。 (所以 i = 1)
所以,'i' 的值不会改变,条件 'i
【讨论】: