我有这个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**");
}
}
}
答案 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**");
}
}
}