请帮帮我解决这个小问题

问题遇到的现象和发生背景

for循环输入数组元素无法输入,调用函数u无法调用

问题相关代码,请勿粘贴截图

#include<stdio.h>
#include <stdlib.h>
void c(int v[],int n)
{
int b,m=0;
for(b=0;b<n;b++)
{
if(v[b]!=0)
{
printf("%2d",v[b]);
m=m+1;
}
}
if(m==0)
{
printf("该运算的结果为空集");
}
printf("\n");
}
void u(int i[],int o[],int d,int f)
{
int p,a,s;
for(p==0;p<d;p++)
{
s=1;
for(a=0;a<f;a++)
{
if(i[p]==o[a])
{
s==0;
}
}
if(s!=0)
{
printf("%d",i[p]);
}
}
}
int main()
{
int E[5]={1,2,3,4,5};
int q=5,w=5,e,r;
printf("请输入子集a,子集b的元素个数\n");
int A[5]={1,2,3,4},B[5]={2,3,4,5},z[5],x[10];
for(e=0;e++;e<q)
{
printf("请输入子集a\n");
scanf("%d",&A[e]);
}
for(e=0;e++;e<w)
{
printf("子集b\n");
scanf("%d",&B[w]);
}
int t;
printf("交集\n");
for(e=0;e<q;e++)
{
t=1;
for(r=0;r<w;r++)
{
if(A[e]==B[r])
{
t=0;
}
if(t==0)
{
break;
}
}
z[e]=A[e];
}
c(z,5);
printf("并集\n");
for(r=0;r<5;r++)
{
x[r]=A[r];
x[10-r]=B[r];
}
for(e=0;e<5;e++)
{
for(r=5;r<10;r++)
{
if(x[e]==x[r])
{
x[r]=0;
}
}
}
c(x,10);
u(A,B,q,w);
u(E,A,5,q);
u(x,z,5,10);
}

运行结果及报错内容

请输入子集a,子集b的元素个数
交集
1 2 3 4
并集
1 2 3 4 5

我的解答思路和尝试过的方法
我想要达到的结果

其他的没看,不过这个for(e=0;e++;e<q)应该写成for(e=0;e<q;e++),有几个地方写错了