gpt4 book ai didi

存储出现索引的代码不起作用

转载 作者:行者123 更新时间:2023-11-30 15:45:47 24 4
gpt4 key购买 nike

在我正在编写的程序中,我当前有一个 for 循环,它遍历数组 num[5],并检查该数组中是否有 1,看起来像:

int counter = 0;
for (int i = 1; i <= 5; i++)
if (num[i] == 1)
counter++;

这工作成功,但我现在尝试遍历数组并查看程序中 1 的索引是什么。因此,如果我有 01001,我想创建一个数组来保存 1 的位置。以下是我迄今为止尝试过的:

int b[counter];
for (int k = 0; k <= counter; k++) {
for (i = 0; i <= 5; i++) {
if (num[i] == 1) {
b[k] = i;
}
}
}

但这不会产生预期的结果。当我输入字符串(例如 1001)时,我得到 444。有人可以告诉我我做错了什么吗?

最佳答案

对于 k 的每个值,对于 1 的每次出现,您将 b[k] 设置为1。因此,每个 b[k] 将具有最后一个 1 的索引。

尝试:

int b[counter];
int k = 0;
for (i = 0; i <= 5; i++) {
if (num[i] == 1) {
b[k++] = i;
}
}

因此,每当它获得 1 时,它就会将 b[k] 分配给索引,然后增加 k

那么在尝试打印 b 时,您还应该使用 k,而不是 counter

关于存储出现索引的代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18818957/

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