我有两个整数阵列,"a"和"b".我想找到[0],[1]等是否也在b []内.我试过这个:
int emfanisi(int a[], int b[], int x){
int i, j;
for(i=0; i<x; i++)
{
for(j=0; j<x; j++)
{
if(a[i] = b[j])
{
return 1;
}
else
{
return 0;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
主要是我这样做:
for(i=0; i<2; i++){
pos = 0;
pos = emfanisi(a,b,2);
if(pos = 1)
printf("The %d number shows in the second array\n", i+1);
else
printf("The %d number doesnt show in the second array\n", i+1);
}
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用!
有人可以指出我的错误吗?
这是作业:
if(a[i] = b[j])
Run Code Online (Sandbox Code Playgroud)
使用==平等检查.注意标记参数const会产生编译器错误:
int emfanisi(const int a[], const int b[], const int x){
Run Code Online (Sandbox Code Playgroud)
后来也有类似的错误:
if (pos = 1) /* Should be == */
Run Code Online (Sandbox Code Playgroud)
注意你可以消除pos:
if(emfanisi(a,b,2))
Run Code Online (Sandbox Code Playgroud)
正如塔法指出的那样,当元素不相等时,不要退出,只有当它们相等时.
为了确定是否包含所有元素,你需要保持匹配的数量(如果找不到元素的话,那将是合适的),如果找到的匹配数等于in中的元素数,则返回除此以外.abibreaka1a0