📅  最后修改于: 2023-12-03 15:12:41.830000             🧑  作者: Mango
这是一道关于编程的问题,对于具有编程知识的程序员来说是一道不错的挑战。
考虑下面的代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
for (i=0; i<20; i++)
{
printf("%d\n", i);
i = i + 2;
}
return 0;
}
输出:
0
2
4
6
8
10
12
14
16
18
请说明为什么程序输出的是这样的结果,给出解释。
这是一道比较简单的问题,主要考察程序员对for循环的理解。
当循环开始时,我们设 i = 0
。在每次循环迭代中,i+2
赋给了 i
。因此,每个迭代 i
的值增加2,而不是1。
当 i
的值达到20(即在第10次迭代时)时,循环的条件不再满足,因此循环退出。
在每次的循环中,会将当前 i
的值打印出来,所以结果就是从0开始,每隔两个输出一个偶数,直到20。
因此,输出结果如下:
0
2
4
6
8
10
12
14
16
18
程序的输出结果是正确的。