c - C中的for循环混淆

标签 c loops for-loop integer

这是一道练习题,我不是很懂。

对于代码片段

int i = 0, j = 0, k = 0;
for (i=-1; i<=10; ++i){ 
    j = i; ++k; 
}

我被要求在执行代码后找到变量的值。

答案是:

 i = 11 j = 10 k = 12

我不明白怎么办,有人可以帮忙吗?

最佳答案

了解 i 的值(value)循环之后非常简单,比这里的其他答案简单得多。循环条件为i<=10 ... 为了使循环终止,该条件必须为 false。显然,i 的值这使得 false 是 11。

j 的值循环结束时是 i 的先前值,即 10,k 的值是循环执行的次数,即 1(对于 -1)+ 1(对于 0)+ 10(对于 1 到 10)= 12。

关于c - C中的for循环混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18369015/

相关文章:

javascript - 如何知道 javascript for 语句中的所有结果是否都是错误的

猜硬币的C#程序

c - 使用 lseek() 系统调用重置文件位置

c - 在C语言中,char*和char[]有什么区别?

c - Windows 中的头文件 alloca.h

ruby-on-rails - rails : How to name and create unique divs within a loop?

c - 将数组 segmentation 为较小的数组不会返回正确的结果

JavaScript 函数不检索数组元素

javascript - 如何在 p5.js 中为围绕球体(冠状病毒)的圆柱体制作嵌套的 for 循环?

c - OPENMP_为什么写数组这么慢,我怎样才能让它更快?