C-阵列。仅更改特定值
我试图搜索一个数组,只检查特定的值(第四个、第五个等等)-(0+n*4)和(3+n*4)。 将检查找到的第一个值,如果该值为0,则将其更改为1,然后程序应停止。如果不是,则将尝试下一个值,依此类推。。 我有下面的代码,但它没有停止..它使所有值同时为1。。 有什么建议吗C-阵列。仅更改特定值,c,arrays,C,Arrays,我试图搜索一个数组,只检查特定的值(第四个、第五个等等)-(0+n*4)和(3+n*4)。 将检查找到的第一个值,如果该值为0,则将其更改为1,然后程序应停止。如果不是,则将尝试下一个值,依此类推。。 我有下面的代码,但它没有停止..它使所有值同时为1。。 有什么建议吗 { for (i=0; i<(totalnumber); i++) { for (n=0; n<((totalnumber)/4); n++)
{
for (i=0; i<(totalnumber); i++)
{ for (n=0; n<((totalnumber)/4); n++)
{ if (i==(0+(n*4)))
{ if (array[i]==0)
{
array[i]=1;
break;
}
}
else if ((i==(3+(n*4))))
{
if (array[i]==0)
{
array[i]=1;
break;
}
}
}
}
}
{
对于(i=0;i而言,使用单个break
语句只能中断最近的循环。它不会中断外部i
循环。因此,将代码也更改为中断外部循环
另一种方法是在同一个for循环中使用两个计数器变量i
,n
。这意味着,您只需使用break
一次即可中断外部for循环
我引述
在嵌套语句中,break语句仅终止直接包含它的do、for、switch或while语句。您可以使用return或goto语句将控制转移到嵌套结构之外的其他位置
这是相关的-使用一个break
语句只能从最近的循环中断开。它不会从外部i
循环中断开。因此,将代码更改为也从外部循环中断开
另一种方法是在同一个for循环中使用两个计数器变量i
,n
。这意味着,您只需使用break
一次即可中断外部for循环
我引述
在嵌套语句中,break语句仅终止直接包含它的do、for、switch或while语句。您可以使用return或goto语句将控制转移到嵌套结构之外的其他位置
这是相关的-你能发布完整的代码吗?你能发布完整的代码吗?