c - 解释 For 循环 C 程序中的输出

标签 c for-loop output

输出说明

for(i=5;++i;i-=3)

这个 for 循环如何给出输出 642 有人可以告诉我这是如何工作的以及如果没有条件循环如何终止?

最佳答案

这里的条件是隐式的。 C 认为每个不为空的整数为真。

在评估条件之前应用++i 语法 因此程序运行如下:

  • 开始: 我=5

  • 第一次循环

条件 (++i) => i=6

  • 第二个循环

迭代操作(i-=3) => i=3

条件 (++i) => i=4

i 被评估为 true

  • 第三个循环

迭代操作(i-=3) => i=1

条件 (++i) => i=2

i 被评估为 true

  • “第四个循环”

迭代操作(i-=3) => i=-1

条件 (++i) => i=0

i 的计算结果为 false

  • 结束

关于c - 解释 For 循环 C 程序中的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42508869/

相关文章:

c - 头文件中未初始化的全局变量的行为

c++ - 如何将生成的数字从 1 到 500 存储在两个数组中

hadoop - 完全取消默认输出目录 - MapReduce

c - 这是 C 中的未定义行为吗?如果不能逻辑地预测输出

c - 为什么程序不提示额外的答案

c - 即使包含 <stdlib.h> 也会出现警告 : implicit declaration of function ‘malloc’ ,

c - 根据用户给定的长度生成给定字符(A、B、C)的所有可能排列,以在 C 中生成字符串

python - 在 Python for 循环中设置列表项

r - 使用R作为游戏模拟器

C、char** 奇怪的输出