Bug虽然我尝试比较

时间:2015-04-17 18:31:50

标签: c

实际上我对此代码有一点错误:

printf("Estadio Nemesio Diez\n\n");
for(i=0;i<12;i++)
{
  if(ultimoAnoDiez[0]==ultimoAnoDiezOriginal[i]);
  {
    mes=i;
  }
}

我正在比较2个数组,我正在选择索引[0],因为该数组已经排序,但是当我编译并执行该文件时,程序说每个数组上的所有值都是相同的,但是如果我打印每个数组的值都是不同的。

我将很感激帮助

BTW Im programmin on C

1 个答案:

答案 0 :(得分:3)

我认为有两个原因:

第一

你的if条件是以;结尾(使{/* othet statement */}成为块而不是阻止)

第二

(ultimoAnoDiez[0]==ultimoAnoDiezOriginal[i])

应该是(您应该将个别值而非所有值(i)仅与第一个值(0)进行比较)

(ultimoAnoDiez[i]==ultimoAnoDiezOriginal[i]);

进一步检查数组相等性,一旦找到不相等的值,就会返回,所以它应该像

int mes = 12;
for(i=0;i<12;i++)
{
  if(ultimoAnoDiez[i]!=ultimoAnoDiezOriginal[i])
  {
    mes=i;
    break;
  }
}
if(mes < 12){
//UNEqual
}