【问题标题】:Explain this for loop解释这个for循环
【发布时间】:2023-01-07 22:47:58
【问题描述】:

int i; for ( i = 0; i = 3; i++ ) printf("Hello");

在此 C 代码中,循环条件为“i = 3”。这个条件是什么意思?循环无限地运行。这是否意味着条件为真?

【问题讨论】:

标签: c for-loop infinite-loop


【解决方案1】:

for 循环中的测试部分是 i = 3,这是对变量的赋值。分配后,它评估为已分配的:3 而不是 0 因此在 C 中为真。 那么你的 for 循环的条件总是因此你有一个无限循环。

如果条件是i == 3,它在循环的第一次迭代中将为假。因此代码永远不会执行 for 块的主体。

如果条件为 i <= 3,则在 i 变量递增到值 3 之前它一直为真。因此 for 循环的主体将执行 3 次

【讨论】:

  • “因此 for 循环的主体将执行 3 次”- 不,i <= 3 会执行主体 4 次
猜你喜欢
  • 1970-01-01
  • 2016-05-08
  • 2018-12-31
  • 1970-01-01
  • 2022-07-07
  • 2010-11-04
  • 1970-01-01
  • 2019-10-21
  • 2016-08-20
相关资源
最近更新 更多