多个else if语句

时间:2016-11-13 17:22:14

标签: c if-statement

我有这个c代码,关于多个if语句.. 所有陈述都很好,除了最后一个...... 它被其他if语句激活,因此破坏了结果.. 有什么建议吗?

  for (i=0; i<(total); i++)
  {
    for (n=0; n<((total)/4); n++)
    {
        if (i==(0+(n*4)) && i<(total-5)&&(array[i]==0))
        {
            array[i]=1;
            i=n=500;                                     
            break;
        }
        else if ((i==(3+(n*4)))&&i<(total-5)&&(array[i]==0))
        {
            array[i]=1;
            i=n=500;
            break;
        }
        else if (i==(total)&&(array[i]==0))
        {
            array[i]=1;
            i=n=500;
            break;
        }
        else if (i==(total-1)&&(array[i]==0))
        {
            array[i]=1;
            i=n=500;
            break;
        }
        else
            printf("**Something**");
    }
  }
}

1 个答案:

答案 0 :(得分:0)

只需删除最后一个&#39;否则&#39;如果&#39;

,请将其替换为其他&#39;否则
for (i=0; i<(total); i++)
  {
    for (n=0; n<((total)/4); n++)
    {
        if (i==(0+(n*4)) && i<(total-5)&&(array[i]==0))
        {
            array[i]=1;
            i=n=500;                                     
            break;
        }
        else if ((i==(3+(n*4)))&&i<(total-5)&&(array[i]==0))
        {
            array[i]=1;
            i=n=500;
            break;
        }
        else if (i==(total)&&(array[i]==0))
        {
            array[i]=1;
            i=n=500;
            break;
        }
        else if (i==(total-1)&&(array[i]==0))
        {
            array[i]=1;
            i=n=500;
            break;
        }
        else if
            printf("**Something**");
    }
  }
}