Arrays 在C中检查数组中的数字

Arrays 在C中检查数组中的数字,arrays,c,function,loops,if-statement,Arrays,C,Function,Loops,If Statement,下面的函数正在查看Order1-3,并查看是否有任何元素位于Winning\u order内8行中每行的3列值内。因此,在本例中,Order1值位于Winning\u order的第一行内,因此它与Order2一样为真。但是,Order2不是程序的有效输出,如何修改下面的迭代函数,使其检查为真Order3也意味着一个false,因为它不在WINING\U order中。代码是从这个问题的答案中得到的 此匹配方法将输出 Order2Order1 你能解释一下为什么Order2是真的吗 #包括 i

下面的函数正在查看
Order1-3
,并查看是否有任何元素位于
Winning\u order
内8行中每行的3列值内。因此,在本例中,
Order1
值位于
Winning\u order
的第一行内,因此它与
Order2
一样为真。但是,
Order2
不是程序的有效输出,如何修改下面的迭代函数,使其检查为真
Order3
也意味着一个false,因为它不在
WINING\U order
中。代码是从这个问题的答案中得到的


此匹配方法将输出

Order2Order1
你能解释一下为什么Order2是真的吗

#包括
int match_数组(int*arr_顺序,int*arr_-win,int len_顺序,int len_-win)
{
int-idx=0;
int err=0;
对于(int i=0;i列队顺序-列队获胜){
返回0;
}
}否则{
idx++;
如果(idx==len_-win)
{
返回1;
}
}
}
返回1;
}
int main()
{
int Order1[3]={1,5,9};
整数阶2[4]={1,2,5,3};
int Order3[3]={4,4,4};
int-Winning_顺序[8][3]={{1,2,3},{4,5,6},{7,8,9},{1,4,7},{2,5,8},{3,6,9},{1,5,9},{3,5,7};
对于(int i=0;i<8;i++){
if(匹配数组(顺序1,获胜顺序[i],3,3)){
printf(“订单1”);
}
if(匹配数组(顺序2,获胜顺序[i],4,3)){
printf(“订单2”);
}
if(匹配数组(顺序3,获胜顺序[i],3,3)){
printf(“订单3”);
}
}
返回0;
}

您能用一下吗?参数的顺序似乎不太正常,我认为数组及其长度应该并排排列side@JackLilhammers谢谢你的评论。我将再次编辑代码。
1,2,5,3
之所以是有效选项,是因为
wing\u order
的第一行有编号
1,2,3
。既然第一行的全部都有它,它应该作为一个真正的参数传递。该函数的作用是查看是否所有3列都填充在其中的8行中。
Order 1 Order 2
Order2Order1