C++如何检查数组中的元素是否相等?

Bee*_*ezy 1 c++ loops for-loop

我正在尝试编写一个程序,使用for循环检查数组中的所有值是否相等但我无法找出if语句的方法来检查数组中的每个值是否相等而不是不断重复"if a[i] == a[1] && a[i] == a[0]"等等.我不想这样做,因为我希望它适用于任何大小的任何数组.任何帮助深表感谢!

    for (unsigned i = 0; i < val; i++){
       if (a[i] == a[0])
          return true;
       else
          return false;
    }
Run Code Online (Sandbox Code Playgroud)

Col*_*inD 9

for (unsigned i = 0; i < val; i++) {
    if (a[i] != a[0]) {
        return false;
    }
}
return true;
Run Code Online (Sandbox Code Playgroud)

应该这样做.

在这种情况下,代码将立即在不匹配的值上失败.但是,在匹配值上,它只是继续检查(因为我们知道我们需要测试数组的每个元素,无论如何).一旦完成,它知道一切顺利(因为我们没有提前返回)并返回true.