求C语言大神解释下 这个程序为什么最后能输出2 3 4 1 的结果 int f(in
求C语言大神解释下这个程序为什么最后能输出2341的结果intf(inta[],intm,intb[],intn,intc[]){inti,j,k=0,t;for(i=0...
求C语言大神解释下 这个程序为什么最后能输出2 3 4 1 的结果 int f(int a[],int m,int b[],int n,int c[]) { int i,j,k=0,t; for(i=0;i<m;i++) { for(t=1,j=0;j<n;j++) if(a[i]==b[j]) { t=0; break; } if(t) c[k++]=a[i]; } return k; } void main(void) { int x[]={7,2,3,6,5,4,1},y[]={5,10,7,9,8,6},z[10],w,j; w=f(x,7,y,6,z); for(j=0;j<w;j++) printf("%4d",z[j]); }
展开
2个回答
展开全部
#include <stdio.h>
//查找a[]和b[]中不相等的数,并将a[]中有,b[]中没有的数放入c[]中
//m,a数组的大小,n,b数组的大小
//返回不相等的数字个数
int f(int a[],int m,int b[],int n,int c[])
{
int i,j,k=0,t;
for(i=0;i<m;i++)
{
for(t=1,j=0;j<n;j++)
{
if(a[i]==b[j]) //找到数值相等的数
{
t=0;
break;
}
}
if(t)
c[k++]=a[i]; //记录a[]中和b[]中不相同的数,放入c[]中
} return k; //不相等数字的个数
}
void main(void)
{
int x[]={7,2,3,6,5,4,1},y[]={5,10,7,9,8,6},z[10],w,j;
w=f(x,7,y,6,z);
for(j=0;j<w;j++)
printf("%4d",z[j]);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询