#include <stdio.h>
#include <stdlib.h>
#define N 20
#define M 20
int main()
{
int M,N,i,j,k,l,counter;
scanf("%d",&N);
int A[N];
for(i=0;i<N;i++)
{
scanf(" %d",&A[i]);
}
/*排除A【】数组里面的重复数字*/
for(i=0;i<N;i++)
{
for(j=i+1;j<N;j++)
{
if(A[i]==A[j]) //发现数组里面重复的数字
{
for(k=j+1;k<N;k++) //重复的数字后面的数字全部向前移动一下
{
A[k-1]=A[k];
}
N--;
} //减小这个数组的一个长度
}
}
scanf("%d",&M);
int B[M];
for(j=0;j<M;j++)
{
scanf(" %d",&B[j]);
}
for(j=0;j<M;j++)
{
for(i=j+1;i<M;i++)
{
if(B[j]==B[i])
{
for(l=i+1;l<M;l++)
{
B[l-1]=B[l];
}
M--;
}
}
}
counter=M+N;
int C[counter],H;
H=0;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
if(A[i]==B[j])
{
break;
}
}
if(j==M)
{
C[H]=A[i];
H++;
}
}
printf("%d",C[0]);
for(i=1;i<H;i++)
{
printf(" %d",C[i]);
}
for(j=0;j<M;j++)
{
for(i=0;i<N;i++)
{
if(B[j]==A[i])
{
break;
}
}
if(i==N)
printf(" %d",B[j]);
}
}
#define N 20
#define M 20
已经定义了宏,后面的int M,N ,错误,替换语句之后是 int 20,20,肯定出错
但是怎么改呢
@大家好!我是王端:将宏换成字符串,有意义的字符串,唉,定义M.N,谁知道是什么意思?
为什么宏定义了M,N。 后面又自己重新定义了下M,N?
哦,是有点别扭 但是 要怎么改呢