gpt4 book ai didi

无法在循环中更改数组

转载 作者:行者123 更新时间:2023-11-30 18:22:06 28 4
gpt4 key购买 nike

我开始使用 C 语言进行编程,制作一些简单的程序,但我在使用特定代码时遇到了问题。该程序应该创建一个包含 3 个元素的数组,获取用户的输入,并根据输入更改一些数组元素。但我不知道为什么代码会跳转第一个 for 循环。
这是一段代码:

int lock[3] = {3, 3, 3}, moves; 
char move;

while (1)
{
scanf("%c", &move);

if (move == 'r' || move == 'R')
{
for (int i = 1; i == 2; i++)
{
lock[i]++;
if (lock[i] == 4) lock[i] = lock[i] % 3;
}

printf("Lock :");
for (int j = 0; j < 3; j++)
{
if (j == 2) printf(" %d.\n", lock[2]);
else printf(" %d,", lock[j]);
}

moves++;
}
}

它的输出是

Lock : 3, 3, 3.

但它应该返回

Lock : 3, 1, 1.

谁能告诉我发生了什么事吗?

最佳答案

这个循环永远不会执行:

for (int i = 1; i == 2; i++) 

i 的值从 1 开始,但循环继续的条件是 i == 2,其计算结果为 false。

关于无法在循环中更改数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30586653/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com