📜  门| GATE-CS-2007 |问题1(1)

📅  最后修改于: 2023-12-03 15:12:41.830000             🧑  作者: Mango

门 | GATE-CS-2007 | 问题1

这是一道关于编程的问题,对于具有编程知识的程序员来说是一道不错的挑战。

题目描述

考虑下面的代码:

#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

程序的输出结果是正确的。