C-阵列。仅更改特定值

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++)

我试图搜索一个数组,只检查特定的值(第四个、第五个等等)-(0+n*4)和(3+n*4)。 将检查找到的第一个值,如果该值为0,则将其更改为1,然后程序应停止。如果不是,则将尝试下一个值,依此类推。。 我有下面的代码,但它没有停止..它使所有值同时为1。。 有什么建议吗

        {
        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语句将控制转移到嵌套结构之外的其他位置


这是相关的-

你能发布完整的代码吗?你能发布完整的代码吗?