将索引的值从 o 更改为 1。循环正在打印值。 index赋值为0时为什么不打印任何值?
当前 i = 0 - 无输出 使 i = 1 - 无限循环
#include<stdio.h>
int main()
{
for(int i = 0;i++;i<100)
{
printf("Mahesh\n");
}
}
enter code here
最佳答案
C for loop
结构:
for ( init; condition; increment )
你实际上已经添加了i++
代替条件和i<100
代替增量。
for loop
的流量控制在 C:
- init 步骤最先执行且仅执行一次。
- 接下来评估条件,如果为真,则执行循环体。如果为 False,则循环体不执行,流程跳转到 for 循环后的下一条语句。
- 循环体执行一次后,流程控制跳转到增量语句,然后再次计算条件。
- 循环体、条件和增量步骤以相同的顺序重复,直到条件变为 False,然后 for 循环终止。
你的循环是:
for(int i = 0;i++;i<100)
在这里,你有i++
作为条件。现在,在这个i
首先评估其次 ++
.因为,i is 0
,当条件计算为 False
时,它会导致循环退出.但是,如果你改变 i to 1
,条件(即 i)计算为 True
并进入循环。
如果你没有刻意这样做,你需要像下面这样的循环:
for (int i = 0; i < 100; i++)
关于c - 为什么索引值为0时没有输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54566920/