c - 我想检查数组中从开始到结束的所有元素(整数)是否相等
问题描述
在一个数组中,我必须检查所有元素是否相同。例如:
a[]={2,2,2,2,2,2,2}
for(i=0;i<n;++i)
{
if(a[0] == a[i])
{
f = 1;
break;
}
}
if(f == 1)
printf("All elements are same");
当任何两个元素相同时,它给了我真实的信息。但我必须检查所有元素是否相同。
解决方案
倒转逻辑,真的。您可以从 1 开始迭代,因为您正在比较a[0]
:
f = 1;
for (i = 1; i < n; ++i)
if (a[i] != a[0]) {
f = 0;
break;
}
if (f == 1)
printf("All elements are the same");