gpt4 book ai didi

c - 当增量计数器和测试计数器在 for 循环语法中互换时会发生什么?

转载 作者:行者123 更新时间:2023-11-30 21:33:37 25 4
gpt4 key购买 nike

请解释原因
情况1:

int main()
{
int i;
for(i=1;i++;i<100)
printf("%d",i);
return 0;
}

导致无限循环,而
情况2:

int main()
{
int i;
for(i=0;i++;i<100)
printf("%d",i);
return 0;
}

循环一次也不运行吗?
请澄清如何解释这种语法?

最佳答案

C programming language 中 for 循环的语法是:

for ( init; condition; increment )
{
statement(s);
}
  • 以下是 for 循环中的控制流程:

    1. 首先执行 init 步骤,并且仅执行一次。此步骤允许您声明和初始化任何循环控制变量。您不需要在此处添加语句,只要出现分号即可。

    2. 接下来,评估条件。如果为真,则执行循环体。如果为 false,则循环体不会执行,控制流会跳转到 for 循环之后的下一条语句。

    3. 执行完 for 循环体后,控制流程跳回增量语句。该语句允许您更新任何循环控制变量。该语句可以留空,只要条件后面出现分号即可。

    4. 现在再次评估条件。如果为真,则执行循环并重复该过程(循环体,然后递增步骤,然后再次条件)。条件变为假后,for 循环终止。

第一种情况:

  • init设置i = 1
  • conditon - 这里i = 1这是 true在c。 (后增量是在语句执行后增加值)
  • body - 执行printf("%d",i);
  • increment -i<100这不会影响 i 的值。

现在在 C 中,对于从 1 到无穷大的所有值,其值为 true,因此无限执行

第二种情况

  • init设置i = 0
  • conditon - 这里i = 0 (再次后增量)即 false在c中,因此loop退出。

因此它甚至没有执行一次。

For 循环流程图:

enter image description here

关于c - 当增量计数器和测试计数器在 for 循环语法中互换时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31759349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com