谁能解释一下这个程序吗?

标签 c

int array[2][2] = {0, 1, 2, 3};
int i;
int sum = 0;

for (i =0; i < 4; ++i)
{

    int x, y;

    x = i % 2;

    if (x)
    {
        y = 0;
        }
    else
    {
        y = 1;
        }
    sum += array[x][y];
}

printf("%d\n", sum);

最佳答案

它足够短,您可以自己浏览它(因为这是家庭作业)并自己在纸上运行每一行。如果有任何一行您无法弄清楚,请提出更具体的问题。只需用铅笔画一个方框来显示 x、y、i、sum 的值以及数组的所有 4 个元素。然后在检查代码行时逐步更改这些框中的值,您将确切地看到发生了什么。您应该知道的一件事是,当 x 为 1 时,“if (x)”会将 x 视为 true。

关于谁能解释一下这个程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4932562/

相关文章:

c - 这段C代码中的 "Ranks"和 "Order"有什么区别?

c - 霍夫曼 C 无限循环

c - 如何使用 allegro 从程序集中创建位图?

c - 使用 pthread C/C++ 在主线程休眠

您可以使用 C 将函数的内存位置存储到 RAM 中吗?

c - UDP 传输 - 实现 CRC-16

无法将 char 值分配给结构中的指针

c - 为什么打印数组时会出现额外的字符

c - 我刚开始使用 C,但我真的可以在项目上使用一些帮助

Clock() 和 usleep() 不匹配