gpt4 book ai didi

c++ - 使用数组作为 While 循环条件

转载 作者:行者123 更新时间:2023-11-30 01:15:52 25 4
gpt4 key购买 nike

我试图通过说如果一个数组不等于一个数组运行循环来指定一个条件。例如:

数组 1 [1,2,3]

数组 2 [1,2,3]

这里 array1 等于 array2,因为两个数组中 0 中的元素相同,两个数组中 1 中的元素相同,依此类推...

到目前为止,我的代码似乎不起作用。有没有一种方法可以比较两个数组,如果一个数组中的所有元素都与第二个数组中的所有元素匹配,则条件为真。

这是我的测试代码:

int C1Mean[3];
int C2Mean[3];
int prv_mean1[3];
int prv_mean2[3];

while (C1Mean[3] = prv_mean1[3] && C2Mean[3] = prv_mean2[3])
{
//code
}

谢谢大家。

最佳答案

如评论所述,您越界访问了数组,并且您使用的是赋值(单个 =)或比较(==)。

要比较您的数组(逐个元素),您可以使用 std::equal :

while(std::equal(std::begin(C1Mean), std::end(C1Mean), std::begin(prv_mean1))
&& std::equal(std::begin(C2Mean), std::end(C2Mean), std::begin(prv_mean2)))
{
...
}

或者没有 c++11:

while(std::equal(C1Mean, C1Mean + sizeof C1Mean / sizeof *C1Mean, prv_mean1)
&& std::equal(C2Mean, C2Mean + sizeof C2Mean / sizeof *C2Mean, prv_mean2))
{
...
}

关于c++ - 使用数组作为 While 循环条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27769330/

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