c - Bug 当我尝试比较时

标签 c

实际上这段代码有一个小错误:

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

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

我会感谢你的帮助

顺便说一句,我在 C 上编程

最佳答案

我认为可能有两个原因:

首先

您的 if 条件以 ; 结尾(使 {/* othet 语句 */> 成为一个 block ,但不是 if block )

第二

(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
}

关于c - Bug 当我尝试比较时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29706890/

相关文章:

c - 在c(linux)中绘制一个点的系统调用

c - 在 C 中声明字符数组的最佳实践

c - 具有函数 c 的动态矩阵

c - 如何使用函数指针?

C# 相当于 C void?

c - 我是否理解这个 C 函数(qsort 比较函数)?

c - scanf 之后 fgets 不起作用

c - scanf 与类型错误混淆

c++ - 单步执行直到退出没有行号信息的函数 __svfscanf_l

用于生成/提取文件类型元数据(音频或图像或等)的 C 库