作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图通过说如果一个数组不等于一个数组运行循环来指定一个条件。例如:
数组 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/
我是一名优秀的程序员,十分优秀!